Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 Вопросы - ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 10) онлайн - Studbook

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

Вопросы

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

1.       Напишите выражение, которое выводит адрес переменной testvar.

2. Адреса смежных в памяти переменных типа float отличаются на____    .

3. Указатель — это:

а)            адрес переменной;

б)           обозначение переменной, которая будет доступна следующей;

в)            переменная для хранения адреса;

г)            тип данных для адресных переменных.

4. Напишите выражения для:

а)            адреса переменной var;

б)           значения переменной, на которую указывает var;

в)            переменной var, используемой как аргумент по ссылке;

г)            типа данных указателя на char.

5. Адрес — это___        , а указатель это —___              .

6. Напишите определение для переменной указателя на float.

7. Указатели полезны при ссылке на адреса памяти, которые не имеют___             .

8. Пусть указатель testptr указывает на переменную testvar. Напишите выра- жение, которое позволит получить значение переменной testvar, не исполь- зуя при этом ее имя.

9. Звездочка, расположенная после типа данных, означает___        . Звез- дочка, расположенная перед именем переменной, означает___  .

10. Выражение *test означает:

а)            указатель на переменную test;

б)           ссылку на значение переменной test;

в)            разыменование переменной test;

г)            ссылку на значение переменной, на которую указывает test;

11. Является ли правильным следующий код?

int intvar = 333; int* intptr; cout << *intptr;

12. Указатель на void может содержать указатель на____    .

13. В чем различие между intarr[3] и (intarr+З)?

14. Напишите код, который, используя указатели, выводит каждое значение массива intarr, имеющего 77 элементов.

15. Пусть intarr массив целых. Почему выражение intarr++ не правильно?

16. Из трех способов передачи аргумента в функцию только передача по ___

___        и передача по ___       позволяют функции изменять аргу- мент в вызывающей программе.

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

а)            чтобы типы данных не перемешались при выполнении арифметиче- ских операций;

б)           чтобы указатель мог быть использован для доступа к членам структуры;

в)            чтобы не было затронуто ни одно из религиозных убеждений;

г)            чтобы компилятор мог правильно выполнять арифметические опера- ции и получать доступ к элементам массива.

18. Используя указатели, напишите прототип функции func(), которая воз- вращает значение типа void и принимает в качестве аргумента массив ти- па char.

19. Используя указатели напишите небольшую программу для перевода 80 сим- волов строки s1 в строку s2.

20. Первый элемент строки это:

а)            имя строки;

б)           первый символ строки;

в)            длина строки;

г)            имя массива, содержащего строку.

21. Используя указатели, напишите прототип функции revstr(), которая воз- вращает строку и в качестве аргумента тоже принимает строку.

22. Запишите определение массива numptrs указателей на строки One, Two и Three.

23. Операция new:

а)            возвращает указатель на переменную;

б)           создает переменную с именем new;

в)            получает память для новой переменной;

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

24. Использование операции new может привести к меншим____

памяти, чем использование массива.

25. Операция delete возвращает ___ операционной системе.

26. Пусть нам дан указатель р, указывающий на объект типа upperclass. Напи- шите выражение, позволяющее вызвать метод exclu() этого класса для данного объекта.

27. Пусть дан объект, являющийся элементом массива objarr под номером 7. Напишите выражение, которое позволит вызвать метод exclu() этого объекта,

28. Связный список — это:

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

б)           массив указателей, указывающих на элементы списка;

в)            структура, в которой каждый элемент состоит из данных или указате- ля на данные;

г)            структура, в которой элементы хранятся в массиве.

29. Напишите определение массива arr из 8 указателей, которые указывают на переменные типа float.

30. Если мы хотим отсортировать множество больших объектов или струк- тур, то будет более эффективным:

а)            поместить их в массив и сортировать как его элементы;

б)           создать массив указателей на них и отсортировать его;

в)            поместить эти объекты в связный список и отсортировать его;

г)            поместить ссылки на эти объекты в массив и отсортировать его.

31. Изобразите многообразие объединений, которые имеют до 10 объектов с одной стороны и больше двух — с другой стороны.

32. Состояния в диаграмме состояний соответствуют:

а)            сообщениям между объектами;

б)           условиям, по которым объекты находят себя;

в)            объектам программы;

г)            изменениям ситуации, в которой используются объекты.

33. Истинно ли следующее утверждение: переходы между состояниями суще- ствуют во время исполнения программы?

34. Защита в диаграмме состояний — это:

а)            ограничивающее условие на переход;

б)           имя определенного перехода;

в)            имя определенного состояния;

г)            ограничение на создание определенных состояний.

 

59