ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 6) онлайн

Вопросы

Ответы на перечисленные ниже вопросы можно найти в приложении Ж.

1.       Для чего необходимо определение класса?

2.       ___имеет такое же отношение к___                , как стандартный тип

данных к переменной этого типа.

3. В определении класса члены класса с ключевым словом private доступны:

а)            любой функции программы;

б)           в случае, если вам известен пароль;

в)            методам этого класса;

г)            только открытым членам класса.

4. Напишите определение класса leverage, включающего одно закрытое поле типа int с именем crowbar и одним открытым методом с прототипом void

pry().

5. Истинно ли следующее утверждение: поля класса должны быть закры- тыми?

6. Напишите оператор, создающий объект lever1 класса leverage, описанного в вопросе 4.

7. Операция точки (операция доступа к члену класса) объединяет следу- ющие два элемента (слева направо):

а)            член класса и объект класса;

б)           объект класса и класс;

в)            класс и член этого класса;

г)            объект класса и член этого класса.

8. Напишите оператор, который вызовет метод pry() объекта lever1 (см. во- просы 4 и 6).

9. Методы класса, определенные внутри класса, по умолчанию     .

10. Напишите метод getcrow() для класса Leverage (см. вопрос 4), который бу- дет возвращать значение поля crowbar. Метод следует определить внутри определения класса.

11. Конструктор вызывается автоматически в момент____  объекта.

12. Имя конструктора совпадает с именем_____       .

13.тНапишите конструктор, который инициализирует нулевым значением по- ле crowbar класса leverage (см. вопрос 4). Конструктор следует определить внутри определения класса.

14. Верно или неверно следующее утверждение: класс может иметь более од- ного конструктора с одним и тем же именем?

15. Методу класса всегда доступны данные:

а)            объекта, членом которого он является;

б)           класса, членом которого он является;

в)            любого объекта класса, членом которого он является;

г)            класса, объявленного открытым.

16. Предполагая, что метод getcrow(), описанный в вопросе 10, определен вне класса, объявите этот метод внутри класса.

17.  Напишите новую версию метода getcrow(), описанного в вопросе 10, кото- рая определяется вне класса.

18. Единственным формальным различием между структурами и классами в С++ является то, что    .

19. Пусть определены три объекта класса. Сколько копий полей класса со- держится в памяти? Сколько копий методов функций?

20. Посылка сообщения объекту эквивалентна ___  .

21. Классы полезны потому, что:

а)            не занимают памяти, если не используются;

б)           защищают свои данные от доступа со стороны других классов;

в)            собирают вместе все аспекты, касающиеся отдельной вещи;

г)            адекватно моделируют объекты реального мира.

22. Истинно ли следующее утверждение: существует простой, но очень точ- ный метод, позволяющий представлять решаемую задачу в виде совокуп- ности объектов классов?

23. Константный метод, вызванный для объекта класса:

а)            может изменять как неконстантные, так и константные поля;

б)           может изменять только неконстантные поля;

в)            может изменять только константные поля;

г)            не может изменять как неконстантные, так и константные поля.

24. Истинно ли следующее утверждение: объект, объявленный как констант- ный, можно использовать только с помощью константных методов?

25. Напишите объявление (не определение) функции типа const void с именем aFunc(), которая принимает один константный аргумент jerry типа float.

 

31