Показаны сообщения с ярлыком класс. Показать все сообщения
Показаны сообщения с ярлыком класс. Показать все сообщения

среда, 13 октября 2010 г.

15. Может ли метод быть приватный?

Конечно.
Представим функцию:
void A::save(){
  if(check()){
    commit();
  }
}

Перед принятием изменений происодит проверка, все хорошо и логично. Если бы нельзя было сделать commit() приватной, то пользователь данного класса мог бы напрямую вызвать commit() без проверки, что может быть опасно.

понедельник, 11 октября 2010 г.

13. Обязательно ли делать поля класса приватными?

Конечно нет (Обычно, если все поля класса открытые, класс объявляют с помощью struct, но это только по желанию)

вторник, 5 октября 2010 г.

7. Какие ключевые слова в С++ обозначают класс?

Ключевые слова - это зарезервированные идентификаторы.
and and_eq asm auto bitand bitor bool break case catch char class compl const const_cast continue default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new not not_eq operator or or_eq private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while xor xor_eq

Из них class и struct обозначают класс.

понедельник, 4 октября 2010 г.

6. Является ли структура классом? Чем класс отличается от структуры?

а) Да
б)
класс обявленный как class имеет по умолчанию доступ private,
класс обявленный как struct имеет по умолчанию доступ public.

То есть, такие определения эквиваленты:

class A {
/* */
}

struct A {
private:
/* */
}


Больше отличий нет. На практике обычно структура используется как группировка переменных не требующих задавать поведение для них.