|
|
|
| И это снова Я :) (Заметьте, Я написана с заглавной буквы :) ) В чём их отличия кроме как того, что класс, если ему не указать, автоматически всё что в нём находится ставит как приватные, а стркутуры наоборот в публичные... в САМОУЧИТЕЛЬ С++ (Г. ШИЛДТ :) Пока единственая книга которую я нашёл у нас, но книга хорошая) написано, что больше разницы нет... но вдеь должна быть разница. Вот например так мы описываем функцию в классе (или как это лучше назвать):
int myclass::get()
{
return 0;
}
|
А как это делоается в структуре? | |
|
|
|
|
|
|
|
для: DEM
(05.01.2007 в 17:29)
| | Разницы, кроме указанной вами нет - в классе все будет тоже самое, в объединении кстати тоже (только от объединения наследовать нельзя). Дело в том, что ключевое слово class ввели специально, чтобы подчеркнуть различие между С-структурами, которые не поддерживали (в С) объектно-ориентированный подход и новыми C++ структурами - классами.
PS Здесь просто нужно учитывать как язык C++ появлялся и на кого был ориентирован, дело в том, что программисты использовали 20 лет до этого C и перейти на C++ многим стоило большой крови, так как полностью менялся подход разработки программного обеспеченья. Ввод дополнительного ключевого слова class должен был облегчить такой переход. Новое слово - новый подход. Поэтому сейчас когда речь идёт о классе используют class, а когда о C-структуре (контейнере переменных) используют struct - это традиция, хороший тон, но оба ключевых слова можно использовать для создания классов (с учётом того, что по умолчанию используются разные спецификаторы доступа). | |
|
|
|
|
автор: deZZineSS (21.01.2007 в 18:47) |
|
|
для: cheops
(05.01.2007 в 17:43)
| | Класс позволяет соблюсти три правила:
1. Сокрытие данных;
2. Инкапсулирование данных;
3. Абстрагирирование данных.
(с)С. Пратта. "Лекции и Упражнения по С++". | |
|
|
|