Warning: mysqli_connect(): (HY000/1040): Too many connections in /home/c/co37471/eljob/public_html/core/main/Msql.php on line 49

Warning: mysqli_connect(): (HY000/1040): Too many connections in /home/c/co37471/eljob/public_html/core/main/Msql.php on line 53
Язык программирования C++ для профессионалов - тест 12
игра брюс 2048
Главная / Программирование / Язык программирования C++ для профессионалов / Тест 12

Язык программирования C++ для профессионалов - тест 12

Упражнение 1:
Номер 1

Какой вид иерархии реализует наследование?


Ответ:

 (1) "общее-частное" 

 (2) "целое-часть" 

 (3) "клиент-сервер" 


Номер 2

Какой вид иерархии реализует использование?


Ответ:

 (1) "общее-частное" 

 (2) "целое-часть" 

 (3) "клиент-сервер" 


Номер 3

Какой вид иерархии реализует принадлежность?


Ответ:

 (1) "общее-частное" 

 (2) "целое-часть" 

 (3) "клиент-сервер" 


Упражнение 2:
Номер 1

Какие существуют виды наследования?


Ответ:

 (1) использование 

 (2) расширение 

 (3) ограничение 


Номер 2

Какое свойство объекта называется инвариантом?


Ответ:

 (1) полностью определяющее состояние объекта 

 (2) позволяющее изменить состояние объекта 

 (3) проверяющее состояние объекта 


Упражнение 3:
Номер 1

Какое отношение между классами реализовано в данном случае?

class A { public: A(B &b) { this->b = &b; }; B* f() { return b;} B* b; }; class B { public: B() { b = 0; }; int b; void f1() { } }

Ответ:

 (1) наследование 

 (2) принадлежность 

 (3) использование 


Номер 2

Если объект класса А может содержать несколько объектов класса В, какое должно быть между ними отношение?


Ответ:

 (1) принадлежности 

 (2) использования 

 (3) наследования 


Номер 3

Может ли класс, которому принадлежит другой класс, переопределить виртуальные функции этого класса?


Ответ:

 (1) не может 

 (2) может 

 (3) может, если принадлежащий класс - абстрактный 


Упражнение 4:
Номер 1

Какое отношение между классами реализовано в данном случае?

class A { public: A() { a = 0; }; virtual int f() { return a; } int a; }; class B: public A { public: B() { a = 1; }; virtual int f() { return a; } };

Ответ:

 (1) наследование 

 (2) использование 

 (3) принадлежность 


Номер 2

Какими способами класс Х может использовать класс Y?


Ответ:

 (1) X вызывает функцию-член Y 

 (2) X читает член Y 

 (3) X пишет в член Y 

 (4) X разрушает Y 


Номер 3

Каким образом можно избежать неоднозначности при делегировании?


Ответ:

 (1) использовать явные операции преобразования типов 

 (2) устранять циклы в графе применения операций преобразования типа 

 (3) определять несколько версий операций преобразования типов 


Упражнение 5:
Номер 1

Что называется инкапсуляцией?


Ответ:

 (1) возможность наследования 

 (2) ограничение доступа ко внутренней структуре объекта 

 (3) возможность описания классов в отдельных модулях 


Номер 2

Что называется иерархичностью?


Ответ:

 (1) возможность наследования 

 (2) ограничение доступа ко внутренней структуре объекта 

 (3) возможность описания классов в отдельных модулях 


Номер 3

Что следует использовать для представления понятий?


Ответ:

 (1) встроенные типы 

 (2) классы 

 (3) функции 


Упражнение 6:
Номер 1

Отметьте все верные высказывания об интерфейсе:


Ответ:

 (1) должен быть строго типизированным 

 (2) должен иметь не более одного наследника 

 (3) должен скрывать специфику реализации от пользователя 


Номер 2

Основные типы классов:


Ответ:

 (1) классы, которые отражают понятия области приложения 

 (2) классы, являющиеся продуктами самой реализации 

 (3) классы, являющиеся деталями реализации 


Номер 3

Перечислите верные высказывания:


Ответ:

 (1) интерфейс представляет собой абстрактный класс 

 (2) все методы интерфейса являются закрытыми 

 (3) можно наследовать класс от нескольких интерфейсов 


Упражнение 7:
Номер 1

Почему метод объектно-ориентированного программирования предпочтительнее метода функциональной декомпозиции?


Ответ:

 (1) функциональная декомпозиция не дает достаточной абстракции данных 

 (2) меньший объем кода 

 (3) более простая структура программы 


Номер 2

В чем состоит преимущество строго типизированных интерфейсов?


Ответ:

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

 (2) минимум проверок на этапе выполнения 

 (3) обеспечение взаимодействия программных частей системы, созданных разными людьми 


Номер 3

Какое преимущество дает статическая типизация?


Ответ:

 (1) позволяет переместить контроль ошибок с этапа выполнения на этап компиляции 

 (2) позволяет создать более эффективную программу 

 (3) позволяет обнаружить все ошибки 


Упражнение 8:
Номер 1

Интерфейс определен следующим образом:

class X { Y a; Z b; void set(Y&); public: void f(const char*); void g(int[10], int); } Какая проблема может возникнуть при его использовании?

Ответ:

 (1) типы Y и Z используются так, что их определения должны быть известны 

 (2) в функции X::f неизвестна длина строки 

 (3) функция X::g имеет низкий уровень абстракции 


Номер 2

Интерфейс определен следующим образом:

class X { Y* a; Z & b; public: void f(const char*); void h(int, ...); void g(int[10], int); } Какая проблема из перечисленных ниже может возникнуть при его использовании?

Ответ:

 (1) в функции X::f неизвестна длина строки 

 (2) в функции X::h может быть произвольное число параметров 

 (3) типы Y и Z используются так, что их определения должны быть известны 


Номер 3

Интерфейс определен следующим образом:

class X { Y* a; Z & b; public: void f(const char*); X& get(int); void g(int[], int); } Какая проблема может возникнуть при его использовании?

Ответ:

 (1) в функции X::f неизвестна длина строки 

 (2) типы Y и Z используются так, что их определения должны быть известны 

 (3) функция X::g имеет низкий уровень абстракции 


Упражнение 9:
Номер 1

Как называется язык, если в нем реализованы классы, но не реализовано наследование?


Ответ:

 (1) функциональный 

 (2) объектный 

 (3) объектно-ориентированный 


Номер 2

Какой из способов описания функций и переменных, совместно используемых несколькими классами, наиболее безопасен?


Ответ:

 (1) использовать глобальные имена 

 (2) описать их в одном из файлов программы как статические 

 (3) поместить их в специальный класс, определение которого закрыто для пользователей 


Номер 3

Может ли конструктор быть статическим?


Ответ:

 (1) не может 

 (2) может 


Упражнение 10:
Номер 1

Есть ли в С++ специальные средства для описания интерфейсов?


Ответ:

 (1) нет 

 (2) есть 


Номер 2

Перечислите верные ответы:


Ответ:

 (1) полиморфизм позволяет именам обозначать объекты разных классов 

 (2) полиморфизм реализуется с помощью наследования и виртуальных методов 

 (3) полиморфизм позволяет воздействовать на разнотипные объекты одинаковым образом 


Номер 3
Когда предпочтительно использовать представления объекта класса Х описанием Х* вместо Х&?

Ответ:

 (1) если нужно передавать объекты в качестве параметров 

 (2) если приходится перестраивать указатель на объект–элемент в течение жизни объекта-владельца 

 (3) если известно, что значение указателя не будет изменяться 


Упражнение 11:
Номер 1

Если метод в базовом классе не объявлен как виртуальный, а в производном он переопределен, когда определяется, какой из методов вызывается?


Ответ:

 (1) во время компиляции 

 (2) во время выполнения 


Номер 3

Каким может быть наследование?


Ответ:

 (1) внешним 

 (2) внутренним 

 (3) защищенным 


Упражнение 12:
Номер 1
Можно ли определить реализацию чисто виртуального метода, определённого в классе-родителе?

Ответ:

 (1) можно 

 (2) нельзя 


Номер 3

Какой тип наследования употребляется чаще всего?


Ответ:

 (1) private 

 (2) public 

 (3) protected 




Главная / Программирование / Язык программирования C++ для профессионалов / Тест 12