Вопрос относительно структур в C ++ - PullRequest
1 голос
/ 19 февраля 2011

Могут ли структуры иметь то же имя, что и класс?

Могу ли я передавать структуры в функции?

Конструкции легкого класса? В основном без функций. Это контейнер, который содержит переменные. Мне просто интересно, если я сделал функцию, могу ли я передать структуру, как обычно, передавая любой другой объект?

Ответы [ 6 ]

5 голосов
/ 19 февраля 2011

В C ++ struct и class фактически идентичны.Единственное отличие состоит в том, что члены struct по умолчанию public, а члены class по умолчанию private.

Вы можете использовать их точно так же, как и классы,Им нужны уникальные имена (в одном и том же пространстве имен), поэтому нельзя использовать структуру с тем же именем, что и у класса.

1 голос
/ 19 февраля 2011

В основном структура и класс одинаковы.Разница заключается в том, что структура по умолчанию является участником общего доступа

1 голос
/ 19 февраля 2011

Классы и структуры по сути являются синонимами в C ++;они могут иметь функции, конструкторы, деструкторы, операторные перегрузки, наследование, друзей и т. д. Единственное отличие - доступ по умолчанию (private против public соответственно) и тип наследования по умолчанию.

Поэтому нет, они не могут иметь одно и то же имя!

И да, вы можете передать объект struct / class по значению, указателю или ссылке в функцию.

1 голос
/ 19 февраля 2011

Да, вы можете передавать структуры как любая другая переменная.Насколько я могу судить, я считаю, что вы не можете назвать их так же, как класс, но вы не должны, даже если бы могли.

0 голосов
/ 19 февраля 2011

Нет.Имена являются уникальными идентификаторами.Вы не можете назвать int с тем же именем, что и char, не так ли?(ответ - нет)

Да.

Структуры могут иметь функции, и вы можете передавать их функциям, как и любая другая переменная.

0 голосов
/ 19 февраля 2011

Да, структуры могут передаваться.Структура не должна содержать того же имени, что и класс.И вот поток о передаче структуры: Передача структуры с несколькими записями в c ++

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...