Класс против Типа и Объекта против Переменной

0

Каковы различия и сходства между классом в C++ и типом в C?

Class Dog{
...;
}pit bull;

Против

Typedef Struct dog Dog;
Struct dog{
...;
}pit bull;

Разница между классом Dog и типом Dog ускользает от меня. Может кто-то прояснить реальные различия между ними?

Заранее спасибо;

  • 0
    Хотите знать, что делает typedef или каковы различия между class и struct ?
  • 0
    Структуры в C не предлагают инкапсуляцию в виде закрытых членов и не позволяют определять методы. Это, однако, очень странный вопрос. Почему вас волнует разница между двумя вещами на двух разных языках?
Показать ещё 10 комментариев
Теги:

1 ответ

1

В C++ единственное различие между классом и структурой состоит в том, что члены и базовые классы по умолчанию являются закрытыми по классам, тогда как в структурах они по умолчанию являются общедоступными.

Таким образом, структуры могут иметь конструкторы, а синтаксис такой же, как для классов.

но в c, структура не может иметь методы, конструктор и другие преимущества классов.

typedef - это просто псевдоним или вы можете назвать имя любимца вашему классу или имени структуры.

  • 0
    Так что поправьте меня, если я ошибаюсь: если я объявляю ac struct с именем Dog в заголовочном файле и определяю ее в исходном файле ac, а затем вызываю функции Dog в main, я не инкапсулировал c struct с именем Dog?
  • 0
    В C структура не может иметь функции. Все, что они могут иметь, это переменные-члены (они, конечно, общедоступны; C не имеет понятия модификаторов доступа). Таким образом, вы не можете определить или вызвать функции для собаки.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню