Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тестовые вопросы по ООП .doc
Скачиваний:
1
Добавлен:
16.12.2018
Размер:
361.47 Кб
Скачать

[q]3:1 В чем разница между прототипом функции и определением функции?

[a] Прототип функции объявляет список параметров и тип возвращаемых данных, а в определении задается ее выполнение. Символ точки с запятой завершает прототип функции, но не ее определение. Объявление может вклячать ключевое слово inline и установки значений параметров по умолчанию. В объявлении функции достаточно указать тип параметров, а определение должно содержать их имена.

[a] Прототип функции не объявляет список параметров и тип возвращаемых данных, а в определении задается ее выполнение. Символ точки с запятой завершает прототип функции, но не ее определение. Объявление может вклячать ключевое слово inline и установки значений параметров по умолчанию. В объявлении функции достаточно указать тип параметров, а определение должно содержать их имена.

[a] Прототип функции объявляет список параметров и тип возвращаемых данных, а в определении задается ее выполнение. Символ точки с запятой завершает прототип функции, но не ее определение. Объявление может вклячать ключевое слово online и установки значений параметров по умолчанию. В объявлении функции достаточно указать тип параметров, а определение должно содержать их имена.

[a] Прототип функции объявляет список параметров и тип возвращаемых данных, а в определении задается ее выполнение. Символ точки с запятой завершает прототип функции, но не ее определение. Объявление может вклячать ключевое слово default и установки значений параметров по умолчанию. В объявлении функции достаточно указать тип параметров, а определение должно содержать их имена.

[a] Все ответы неправильны.

[q]3:1 Должны ли имена параметров, указанные в прототипе, в определении и вызове функции, соответствовать друг другу?

[a] Нет. Все параметры идентифицируются позицией, а не по имени.

[a] Нет. Все параметры не идентифицируются не по позицией, и не по имени.

[a] Да. Все параметры идентифицируются по именам, а не позицией.

[a] Все ответы неправильны.

[a] Нет. В параметрах не обязательно указывать имена.

[q]3:1 Если функция не возращает значения, то как ее следует объявить?

[a] Объявите ее как viod.

[a] Объявите ее как float.

[a] Объявите ее как int.

[a] Никак.

[a] Все ответы неправильны.

[q]3:1 Если возвращаемый тип не объявлен, то какой тип будет принят по умолчанию для возвращаемого значения?

[a] Любая функция, для которой тип возвращаемого значения не объявлен явно, возвращает значение типа int?

[a] Любая функция, для которой тип возвращаемого значения не объявлен явно, возвращает значение типа void?

[a] Любая функция, для которой тип возвращаемого значения не объявлен явно, возвращает значение типа float?

[a] Никакой тип не будет принят.

[a] Все ответы неправильны.

[q]3:1 Что такое локальная переменная?

[a] Это переменная, передаваемая или объявленная внутри некоторого блока (обычно функции). Она действует только в пределах этого блока.

[a] Это переменная, передаваемая или объявленная снаружи некоторого блока. функции. Она действует за пределами блока.

[a] Это переменная, передаваемая, но не объявленная внутри некоторого блока.

[a] Все ответы неправильны.

[a] Такой переменной не существует.

[q]3:1 Что такое перегрузка функции?

[a] Это способность написать несколько функции с одним и тем же именем, но с личным числом и типом параметров.

[a] Это способность написать несколько функции с одним и тем же параметром, но с личным числом и именем.

[a] Это способность написать несколько функции с одним и тем же числом, но с личным именем и типом параметров.

[a] Все ответы неправильны.

[a] Все ответы правильны.

[q]3:1 Что такое полиморфизм?

[a] Это возможность вызова одноименных методов для объектов разных, взаимосвязанных типов с учетом различий в выполнении функции для разных типов. В С++ полиморфизм реализуется путем создания производных классов и виртуальных функций.

[a] Это возможность вызова одноименных методов для объектов одинаковых, взаимосвязанных типов с учетом различий в выполнении функции для одинаковых типов. В С++ полиморфизм реализуется путем создания производных классов и виртуальных функций.

[a] Это возможность вызова разноименных методов для объектов разных, взаимосвязанных типов с учетом различий в выполнении функции для разных типов. В С++ полиморфизм реализуется путем создания производных классов и виртуальных функций.

[a] Это возможность вызова параметров для объектов разных, взаимосвязанных типов с учетом различий в выполнении функции для разных типов. В С++ полиморфизм реализуется путем создания производных классов и виртуальных функций.

[a] Все ответы не правильны.

[q]3:1 Что такое точечный оператор, и для чего он используется?

[a] Точечный оператор представляет собой символ точки (.) и применяется для прямого обращения к членам класса.

[a] Точечный оператор представляет собой символ запятой (,) и применяется для прямого обращения к членам класса.

[a] Точечный оператор представляет собой символ точки (.) и применяется для произвольного обращения к членам класса.

[a] Точечный оператор представляет собой символ точки (.) и применяется для прямого обращения к переменной-функции.

[a] Все ответы не правильны.

[q]3:1 Объявление класса является его интерфейсом или реализацией?

[a] Объявление класса является его интерфейсом, который сообщает клиентам класса, как с ним взаимодействовать. Реализация класса – это набор функций-членов, сохраняемых обычно в файле с расширением .срр.

[a] Объявление класса является его реализацией, который сообщает клиентам класса, как с ним взаимодействовать. Интерфейс класса – это набор функций-членов, сохраняемых обычно в файле с расширением .срр.

[a] Объявление класса является его интерфейсом, который сообщает клиентам класса, как с ним взаимодействовать. Реализация класса – это набор функций-членов, сохраняемых обычно в файле с расширением .hрр.

[a] Объявление класса является его реализацией, который сообщает клиентам класса, как с ним взаимодействовать. Интерфейс класса – это набор функций-членов, сохраняемых обычно в файле с расширением .hрр.

[a] Все ответы не правильны.

[q]3:1 Какова разница между открытыми (public) и закрытыми (private) данными членами?

[a] К открытым данным-членам могут обращаться клиенты класса, а к закрытым могут получить доступ только функции-члена класса.

[a] К открытым данным-членам могут обращаться переменные-члены класса, а к закрытым могут получить доступ только функции-члена класса.

[a] К открытым данным-членам могут обращаться функции-члена класса, а к закрытым могут получить доступ только клиенты класса.

[a] Все ответы не правильны.

[a] Все ответы правильны.

[q]3:1 Могут ли функции-члена быть закрытыми?

[a] Да. Как функции-члены, так и переменные-члены могут быть закрытыми.

[a] Нет. Не могут.

[a] Да. Как функции-члены, так и функции класса могут быть закрытыми.

[a] Нет. Как функции-члены, так и переменные-члены не могут быть закрытыми.

[a] Все ответы не правильны.

[q]3:1 Могут ли переменные члены быть открытыми?

[a] Переменные-члены могут быть открытыми, но хорошим тоном программирования считается объявлять все переменные-члены закрытыми, а доступ к ним обеспечивать с помощью открытых методов.

[a] Переменные-члены могут быть открытыми, но хорошим тоном программирования считается объявлять все переменные-члены закрытыми, доступ к ним обеспечивать с помощью закрытых методов.

[a] Нет. Не могут.

[a] Переменные-члены могут быть открытыми, если параметры позволяют, а доступ к ним обеспечивать с помощью закрытых методов.

[a] Все ответы не правильны.

[q]3:1 Если объявить два объекта класса Cat, могут ли они иметь различные значения переменных-членов itsAge?

[a] Да. Каждый объект класса имеет собственные переменные-члены.

[a] Нет. Объекты класса имеют общие переменные-члены.

[a] Нет. Каждый объект класса не имеет собственные переменные-члены.

[a] Все ответы не правильны.

[a] Нет. Каждый объект класса имеет общие переменные-члены.

[q]3:1 Нужно ли объявление класса завершать точкой с запятой? А определение методов класса?

[a] Объявление класса заканчивается точкой с запятой после закрывающей фигурной скобки, а определение функций-членов – нет.

[a] Объявление класса не заканчивается точкой с запятой после закрывающей фигурной скобки, а определение функций-членов – да.

[a] Все ответы не правильны.

[a] Объявление класса заканчивается точкой с запятой после закрывающей обычной скобки, а определение функций-членов – нет.

[a] Объявление класса заканчивается точкой с запятой после закрывающей фигурной скобки, определение функций-членов тоже.

[q]3:1 Как выглядел бы заголовок функции-члена Fun() класса Cat, которая не принимает параметров и возвращает значение void?

[a] Заголовок функции-члена Fun() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:

void Cat::Fun()

[a] Заголовок функции-члена Fun() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:

void Cat<<Fun()

[a] Заголовок функции-члена Fun() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:

void Cat:;Fun()

[a] Заголовок функции-члена Fun() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:

void Cat::Fun{}

[a] Заголовок функции-члена Fun() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:

void Cat>>Fun()

[q]3:1 Какая функция вызывается для инициализации объекта?

[a] Для инициализации объекта вызывается конструктор.

[a] Для инициализации объекта вызывается настройка.

[a] Для инициализации объекта вызывается форма.

[a] Все ответы не правильны.

[a] Никакая функция не вызывается.

[q]3:1 Что такое дружественная функция?

[a] Функция, объявленная дружественной, обладает правом доступа к защищенным и закрытым членам данного класса.

[a] Функция, объявленная дружественной, обладает правом доступа к не защищенным и закрытым членам данного класса.

[a] Функция, объявленная дружественной, обладает правом доступа к защищенным и открытым членам данного класса.

[a] Все ответы не правильны

[a] Функция, объявленная дружественной, не обладает правом доступа к защищенным и закрытым членам данного класса.

[q]3:1 Что такое дружественный класс?

[a] Все функции класса, объявленного дружественным, обладает правом доступа ко всем защищенным и закрытым членам данного класса.

[a] Все функции класса, объявленного дружественным, не обладает правом доступа ко всем защищенным и закрытым членам данного класса.

[a] Все функции класса, объявленного дружественным, обладает правом доступа ко всем не защищенным и закрытым членам данного класса

[a] Все функции класса, объявленного дружественным, обладает правом доступа ко всем не защищенным и открытым членам данного класса.

[a] Все ответы не правильны

[q]3:1 Если класс Dog (пес) объявлен как дружественный классу Boy (мальчик), то будет ли Boy дружественен Dog?

[a] Нет, дружественные отношения не взаимны.

[a] Да, дружественные отношения взаимны.

[a] Да, если параметры разрешат.

[a] Все ответы не правильны

[a] Дружественные отношения возможны, если свойства позволяют.

[q]3:1 Если класс Dog дружественен Boy, а Terrier (терьер) происходит от Dog, то будет ли Terrier дружественен Boy?

[a] Нет, дружественные отношения не наследуются

[a] Да, дружественные отношения наследуются

[a] Да, если параметры разрешат

[a] Дружественные отношения возможны, если свойства позволяют

[a] Все ответы не правильны

[q]3:1 Если класс Dog дружественен Boy, а Boy дружественен Horse, можно ли считать Dog дружественным Horse?

[a] Нет, дружественные отношения не ассоциативны

[a] Да, дружественные отношения ассоциативны

[a] Дружественные отношения возможны, если свойства позволяют

[a] Да, если параметры разрешат

[a] Все ответы не правильны

[q]3:1 Где необходимо размещать объявление дружественной функции?

[a] В любом месте в объявлении класса. Не имеет значения в каком из разделов будет содержаться это объявление: public:, protected: или private:

[a] В начале прграммы

[a] Она должна содержаться в одной из эти разделов: public:, protected: или private:

[a] В конце прграммы

[a] Все ответы правильны

[q]3:1 Укажите правильное объявление класса Animal (животное), который содержит переменную-член, являющуюся объектом класса String.

[a] class Animal

{

private:

String itsName;

};

[a] class Animal

{

private

String itsName;

};

[a] class Animal:

{

private:

String itsName;

}

[a] class Animal:

{

private:

String itsName

}

[a] class Animal:

{

String itsName;

};

[q]3:1 Могут ли статические переменные-члены быть закрытыми?

[a] Да. Поскольку они являются переменными-членами, то доступ к ним может контролироваться подобно доступу к любым другим переменным-членам. Если статическая переменная-член объявлена как закрытая, то доступ к ней можно получить только с помощью открытого статического метода класса.

[a] Статических переменных-членов не существует

[a] Все ответы не правильны

[a] Нет, не могут

[a] Да, если параметры отвечают всем требованиям

[q]3:1 Объявите статическую переменную-член

[a] static int ItsStatic;

[a] static ItsStatic;

[a] static intStatic;

[a] static int to ItsStatic;

[a] static to ItsStatic;

[q]3:1 Что такое «объектная декомпозиция»?

[a] Процесс разбиения предметной области на части, соответствующие классам и объектам предметной области

[a] Такое отношение между классами, когда один является частью другого

[a] Реализация включений нескольких однотипных объектов в один агрегатный объект

[a] Методология, при которой мир рассматривается как совокупность объектов, согласованно действующих для обеспечения требуемого поведения

[a] Совокупность основополагающих принципов, лежащих в основе объектно-ориентированного проектирования

[q]3:1 Объявите указатель на функцию, принимающую параметр типа int и возвращающую значение типа long

[a] long(* function)(int);

[a] long(* function)();

[a] long( function)(int);

[a] long(* function)(int to ItsStatic);

[a] long( function)*(int);

[q]3:1 Чем различаются : объявление класса от определения объекта?

[a] Определение объекта резервирует память для объекта, а объявление класса - заявляет о существовании класса

[a] Ничем, в принципе

[a] Отличие определяется конкретной средой программирования

[a] Объявления, также как и определение, заявляет о существовании класса и объекта

[a] Определение объекта присваивает значение классу, объявленному в каком-либо пространстве имен

[q]3:1 Что такое виртуальный деструктор?

[a] Деструктор любого класса может быть объявлен виртуальным. При удалении указателя на объект будет автоматически запущен процесс определения типа и вызова всех необходимых деструкторов, включая виртуальные деструкторы базовых классов.

[a] Это виртуальная база данных

[a] Деструктор любого класса не может быть объявлен виртуальным. При удалении указателя на объект будет автоматически запущен процесс определения типа и вызова всех необходимых деструкторов, включая виртуальные базовых классов

[a] Виртуальных деструкторов не существует

[a] Все ответы не правильны

[q]3:1 Какой смысл носит тип отношения между классами, изображаемый стрелкой , с полым треугольником на одном конце ?

[a] Наследование

[a] Ассоциация

[a] Зависимость

[a] Реализация

[a] Агрегация

[q]3:1 Как создать виртуальный конструктор копий?

[a] Создав в классе виртуальный метод, вызывающий конструктор копий

[a] Создав в классе виртуальный параметр, вызывающий конструктор копий

[a] Отправить запрос в виртуальный метод

[a] Все ответы правильны

[a] Все ответы не правильны

[q]3:1 Объявите виртуальную функцию, которая принимает одно целочисленное значение и возвращает void

[a] virtual void SomeFunction(int);

[a] virtual void SomeFunction int;

[a] virtual void SomeProsedure(int);

[a] virtual void SomeProsedure int;

[a] virtual vod SomeProsedure(int);

[q]3:1 Для чего используется ключевое слово protected?

[a] Защищенные члены (объявленные с ключевым словом protected) доступны для функций-членов производных объектов и недоступны объектам посторонних классов

[a] Используется для вызова операторов

[a] Защищенные члены (объявленные с ключевым словом protected) недоступны для функций-членов производных объектов и доступны объектам посторонних классов

[a] Ни для чего не используется

[a] Все ответы не правильны

[q]3:1 Какой из элементов массива SomeArray[25] будет первым, а какой – последним?

[a] SomeArray[0], SomeArray[24]

[a] SomeArray[1], SomeArray[25]

[a] SomeArray[0], SomeArray[25]

[a] SomeArray[1], SomeArray[23]

[a] SomeArray[1], SomeArray[24]

[q]3:1 Как объявить многомерный массив?

[a] Запишите отдельный набор индексов для каждого измерения. Например, массив SomeArray[2][3][2] является трехмерным. Первое измерение содержит два элемента, второе–три, а третье-два.

[a] Запишите общий набор индексов для каждого измерения. Например, массив SomeArray[2][3][2] является трехмерным. Первое измерение содержит два элемента, второе–три, а третье-два.

[a] Хватит одной записи отделного набора индекса для одного измерения

[a] Не возможно объявить многомерный массив

[a] Все ответы не правильны

[q]3:1 Инициализируйте члены массива SomeArray [2][3][2]

[a] SomeArray[2][3][2]={

{ {1,2}, {3,4}, {5,6},

{ {7,8}, {9,10}, {11,12} };

[a] SomeArray[2][3][2]={

{ {1,2,3}, {4,5,6}, {5,6},

{ {7,8}, {9,10}, {11,12} };

[a] SomeArray[2][3][2]={

{ {1,2}, {3,4}, {5,6},

{ {7,8}, {9,10} };

[a] SomeArray[2][3][2]={

{ {1,2}, {3,4}, {5,6},

{ {7,8}, {11,12} };

[a] SomeArray[2][3][2]={

{ {1,2}, {5,6},

{ {7,8}, {9,10}, {11,12} };

[q]3:1 Открытые методы класса – это функции - члены класса, предназначенные для манипулирования закрытыми переменными – членами класса. Зачем же нужен такой дополнительный уровень косвенного доступа?

[a] Чтобы скрыть от пользователя подробности хранения данных в объектах

[a] Чтобы проще и легче использовать данные объектов

[a] Для модернизации способов хранения и обработки данных, вне тела класса

[a] Чтобы переписывать (модернизировать) методы доступа

[a] Чтобы обеспечивать вызов методов во внешнем программном окружении

[q]3:1 Что такое оператор ввода, и как он работает?

[a] Оператор ввода (») является членом объекта istream и используется для записи данных в переменные программы

[a] Оператор ввода (») является членом объекта dream и используется для записи данных в переменные программы

[a] Все ответы не правильны

[a] Оператор ввода (») является членом объекта istream и используется для записи адреса в переменные программы

[a] Оператор ввода (») не является членом объекта istream и используется для записи данных в переменные программы

[q]3:1 Что такое UML?

[a] Универсальный язык объектного моделирования систем

[a] Язык объектного моделирования систем

[a] Язык объектного программирования

[a] Графический редактор при моделировании систем

[a] Язык структурирования и описание поведения объектов систем

[q]3:1 Пусть определены целые переменные: int a= 2, b=3, c=4;

Укажите правильное определение переменной ссылочного типа?

[a] int& r = a;

[a] Point & r = Point;

[a] void& r = b;

[a] int& r = new int(4);

[a] int& ar[] = {a,b,c};

[q]3:1 Выберите вариант ответа, где указаны все строки, в которых компилятор обнаружит ошибки?

1) class Point

2) { private: int x;

3) public: void Print( );

4) int Getx ( ) const ;

5) };

6) void main ( )

7) { Point p;

8) p.x = 9;

9) Point . Print ( ) ;

10) Point obj(2);

11) }

[a] 8,9,10

[a] 2,4,6

[a] 6,7,8

[a] 4,7,8

[a] 7,8,10

[q]3:1 Какая разница между выражениями if (x=3) и if(x= =3)?

[a] Первое выражение присваивает переменной х значение 3 и возвращает true. Второе выражение проверяет, равно ли значение переменной х числу 3, и возвращает True, если значение переменной х равно 3, и – false в противном случае.

[a] Первое выражение присваивает переменной х значение 3 и возвращает false. Второе выражение проверяет, равно ли значение переменной х числу 3, и возвращает true, если значение переменной х равно 3, и – false в противном случае.

[a] Первое выражение проверяет, равно ли значение переменной х числу 3, и возвращает true, если значение переменной х равно 3, и – false в противном случае. Второе выражение присваивает переменной х значение 3 и возвращает true.

[a] Первое выражение проверяет, равно ли значение переменной х числу 3, и возвращает true, если значение переменной х равно 3, и – false в противном случае. Второе выражение присваивает переменной х значение 3 и возвращает false.

[a] Все ответы не правильны

[q]3:1 Если перечисление (enum) задано следующим образом, то каковы значение элемента Blue?

enum Color {WHITE, BLACK=100, RED, BLUE, GREEN=300};

[a] BLUE=102

[a] BLUE=103

[a] BLUE=104

[a] BLUE=105

[a] BLUE=106

[q]3:1 Чем отличается конструктор копий от оператора присваивания (=)?

[a] Оператор присвоения работает с существующим объектом, а конструктор копий создает новый временный объект.

[a] Оператор присвоения создает новый временный объект, а конструктор копий работает с существующим объектом

[a] Нет никаких отличий

[a] Оператор присвоения не работает с существующим объектом, а конструктор копий – да.

[a] Все ответы не правильны

[q]3:1 Что представляет собой указатель this?

[a] Это скрытый параметр, который указывает на сам объект.

[a] Это закрытый параметр, который указывает на сам объект.

[a] Это открытый параметр, который указывает на сам объект.

[a] Это скрытый параметр, который указывает на другой объект.

[a] Это скрытый параметр, который не указывает на сам объект.

[q]3:1 Чем отличаются варианты перегруженных функций-членов?

[a] Перегруженных функции-членов класса имеют одинаковое имя, но отличаются количеством или типом параметров.

[a] Перегруженных функции-членов класса не имеют одинаковое имя, но отличаются количеством или типом параметров.

[a] Перегруженных функции-членов класса имеют одинаковое имя, но не отличаются количеством или типом параметров.

[a] Перегруженных функции-членов класса имеют разные имена, но отличаются количеством или типом параметров.

[a] Все ответы не правильны.

[q]3:1 В чем разница между определением и объявлением?

[a] Определение резервирует память, а объявление – нет. Объявления часто являются и определениями, за исключением объявлений классов, прототипов функций и новых типов с помощью ключевого слова typedef.

[a] Определение не резервирует память, а объявление – да. Объявления часто являются и определениями, за исключением объявлений классов, прототипов функций и новых типов с помощью ключевого слова typedef.

[a] Определение резервирует память, а – нет. Объявления часто являются и определениями, за исключением объявлений классов, прототипов функций и новых типов с помощью ключевого слова typerun.

[a] Нет никакой разницы

[a] Все ответы не правильны

[q]3:1 Когда вызывается конструктор копирования ?

[a] Всегда, когда создается временная копия объекта. Это случается каждый раз, когда объект передается в функцию как значение.

[a] Когда нужно удалить оригинал объекта.

[a] Всегда, когда создается временная копия объекта. Это случается один раз, когда объект передается как параметр.

[a] Всегда, когда создается переменный объект. Это случается каждый раз, когда объект передается как значение.

[a] Все ответы не правильны.

[q]3:1 Когда вызывается деструктор?

[a] Деструктор вызывается каждый раз при удалении объекта, что происходит либо при выходе его из области действия, либо при вызове оператора delete для указателя на данный объект.

[a] Деструктор не вызывается каждый раз при удалении объекта, это происходит либо при выходе его из области действия, либо при вызове оператора delete для указателя на данный объект.

[a] Деструктор вызывается каждый раз при восстановлении объекта.

[a] Деструктор вызывается каждый раз при удалении объекта, что происходит либо при выходе его из области действия, либо при вызове оператора typedef для указателя на данный объект.

[a] Все ответы не правильны.

[q]3:1 В чем различие между ссылкой и указателем?

[a] Ссылка представляет собой псевдоним, а указатель – это переменная, которая содержит адрес. Ссылки не могут быть нулевыми и не могут быть переназначены.

[a] Ссылка представляет собой переменную, а указатель – это псевдоним, которая содержит адрес. Ссылки не могут быть нулевыми и не могут быть переназначены.

[a] Ссылка представляет собой псевдоним, а указатель – это переменная, которая содержит данные. Ссылки могут быть нулевыми и могут быть переназначены.

[a] Ссылка представляет собой функции члена класса, а указатель – это переменная, которая содержит адрес. Ссылки не могут быть нулевыми и не могут быть переназначены.

[a] Все ответы не правильны.

[q]3:1 Когда нужно использовать именно указатель, а не ссылку?

[a] Если необходимо назначить указателю новую переменную или сделать указатель нулевым.

[a] Если необходимо назначить указателю уже использованную переменную или сделать указатель нулевым.

[a] Если необходимо назначить указателю новую переменную или сделать указатель нулевым.

[a] Нельзя использовать указатель без помощи ссылки

[a] Все ответы не правильны

[q]3:1 Что возвращает оператор new, если для создания нового объекта недостаточно памяти?

[a] Нулевый указатель.

[a] Ничего не возвращает

[a] Нулевый результат

[a] Все ответы правильны

[a] Все ответы не правильны.

[q]3:1 Какой оператор возвращает адрес переменной?

[a] Оператор обращения к адресу (&)используется для определения адреса любой переменной.

[a] Оператор взятия значения (*) используется для определения адреса любой переменной.

[a] Оператор ввода (>>) используется для определения адреса любой переменной

[a] Оператор вывода (<<) используется для определения адреса любой переменной

[a] Все ответы не правильны

[q]3:1 Какой оператор используется для получения значения, хранимого по адресу, находящемуся в указателе?

[a] Оператор взятия значения (*) используется для доступа к значению, которое находится по адресу, содержащемуся в указателе

[a] Оператор взятия значения ($) используется для доступа к значению, которое находится по адресу, содержащемуся в указателе

[a] Оператор взятия значения (#) используется для доступа к значению, которое находится по адресу, содержащемуся в указателе

[a] Оператор взятия значения (%) используется для доступа к значению, которое находится по адресу, содержащемуся в указателе

[a] Оператор взятия значения (@) используется для доступа к значению, которое находится по адресу, содержащемуся в указателе

[q]3:1 Что такое указатель?

[a] Указатель – это переменная, которая содержит адрес другой переменной.

[a] Указатель – это переменная, которая содержит адрес функции-члена

[a] Указатель – это переменная, которая содержит адрес члена класса

[a] Указатель – это переменная, которая содержит параметр другой переменной

[a] Все ответы не правильны

[q]3:1 Что описывает документ «Описание прецедентов», создаваемый на этапе анализа проекта?

[a] Прецеденты, сценарии, предварительные и окончательные условия, а также визуализацию структуры проекта.

[a] Взаимосвязи объектов сферы деятельности

[a] Системные и аппаратные средства, на которых предстоит реализовать проект.

[a] Список характеристик и ограничений, наложенных заказчиком

[a] Описание требований заказчика к проекту

[q]3:1 В чем разница между оператором косвенного доступа и оператором обращения к адресу?

[a] Оператор косвенного доступа (*) возвращает значение по адресу, хранимому в указателе, а оператор обращения к адресу (&) возвращает адрес переменной в памяти.

[a] Оператор косвенного доступа (*) не возвращает значение по адресу, а оператор обращения к адресу (&) – да.

[a] Нет никакой разницы

[a] Оператор косвенного доступа (*) возвращает адрес переменной в памяти, хранимому в указателе, а оператор обращения к адресу (&) возвращает значение по адресу.

[a] Оператор косвенного доступа (*) возвращает значение по адресу, хранимому в указателе, а оператор обращения к адресу (&) возвращает параметр переменной в памяти

[q]3:1 Если объявлена переменная типа unsigned short с именем yourAge, как объявить указатель на нее?

[a] unsigned short *pAge = &yourAge;

[a] unsigned short *pAge = &yourAge

[a] unsigned short pAge = &yourAge;

[a] unsigned short *pAge = yourAge;

[a] unsigned *pAge = &yourAge;

[q]3:1 Присвойте переменной yourAge значение 50 с помощью указателя unsigned short *pAge = &yourAge;

[a] *pAge = 50;

[a] *Age = 50;

[a] pAge = 50;

[a] *pAge* = 50

[a] *p= 50;

[q]3:1 Можно ли организовать цикл while внутри цикла for?

[a] Да. Любой цикл может быть вложен внутрь другого цикла

[a] Нет. Любой цикл не может быть вложен внутрь другого цикла

[a] while и for не являются циклами

[a] Нет. Если параметры не совпадают

[a] Все ответы не правильны

[q]3:1 Отладка: какая ошибка допущена в следующем объявлении?

class Square

{

public :

Int Side;

}

[a] Объявление класса должно заканчиваться точкой с запятой

[a] Ошибки нет.

[a] После public не ставится двоеточие

[a] Фигурные скобки излишни

[a] Все ответы не правильны

[q]3:1 Отладка: что весьма полезное отсутствует в объявлении этого класса?

class Cat

{

Int GetAge() const;

private :

Int itsAge;

};

[a] Метод доступа к данным GetAge() является закрытым по умолчанию. Помните: все члены класса считаются закрытыми, если не оговорено иначе

[a] Метод доступа к данным GetAge() является открытым по умолчанию. Помните: все члены класса считаются зоткрытыми, если не оговорено иначе.

[a] private пишется с большой буквы

[a] точка с запятой - лишние

[a] Все ответы не правильны

[q]3:1 В чем особенность функции main()?

[a] Функция main() вызывается автоматически при каждом выполнении программы. Она не может быть вызвана какой-либо другой функцией и обязательно должен присутствовать в каждой программе.

[a] Функция main() не вызывается при каждом выполнении программы. Она не может быть вызвана какой-либо другой функцией и не обязательно должен присутствовать в каждой программе.

[a] Функция main() вызывается автоматически при каждом выполнении программы. Она может быть вызвана какой-либо другой функцией и не обязательно должен присутствовать в каждой программе.

[a] Все ответы не правильны

[a] функции main() не существует

[q]3:1 Укажите ошибку в описании метода main()?

#include<iostream.h>

Int main()

{ int a = 5; int b = 7;

cout << a % b << ”\n”;

}

[a] Метод main() должен содержать оператор, возвращающий целое число в систему.

[a] Метод main() должен иметь параметры

[a] Должно быть подключение файла <conio.h>

[a] Нельзя использовать подряд идущие операции <<

[a] Ошибки нет

[q]3:1 Укажите ошибку в описании класса Point?

#include < iostream.h >

class Point

{ int x,y;

Point (int a, int b) { x = a; y = b; }

void Print (){ cout << x << y;}

};

[a] Члены-данные класса x и y не доступны функциям класса

[a] Отсутствует тип возвращаемого значения у конструктора.

[a] Отсутствует тип возвращаемого значения функции Print

[a] Отсутствует спецификатор private перед описанием переменных Х и Y

[a] Члены-данные класса x и y доступны функциям класса

[q]3:1 Укажите ошибку в описании класса Point?

#include < iostream.h >

class Point

{ public:

int x,y;

Point (int a, int b) { x=a; y=b; }

void Print (){ cout << x << y;}

};

[a] Нарушен принцип инкапсуляции, так как члены –данные х,у объявлены открытыми для доступа

[a] Члены -данные x и y закрыты для доступа

[a] Конструктор класса должен иметь тип возвращаемого значения

[a] После фигурной скобки завершения описания класса не ставится разделитель “;”

[a] Ошибки в описании нет

[q]3:1 Укажите ошибку в описании класса Point?

#include < conio.h >

class Point

{ int x;

public:

Point (){}

void Print() { cout <<x;}

};

[a] Операция вывода на консоль “<<” не обеспечена соответствующим файлом компилятора

[a] Член – данное х не доступен функции Print

[a] В конструкторе должен быть указан параметр

[a] Конструктор должен иметь тип возвращаемого значения

[a] Ошибки в описании нет

[q]3:1 Для чего в языке С++ используется объекты cin и cout ?

[a] Обеспечивают ввод и вывод данных в программе

[a] Являются необходимыми операндами операции >> и <<, соответственно

[a] Являются потоковыми объектами для описываемого пользовательского типа.

[a] Обеспечивают ввод данных в программу

[a] Обеспечивают вывод данных из программы

[q]3:1 Имеются ли ошибки в следующем описании класса Point?

#include < iostream.h >

class Point

{ private:

int x;

public:

Point (){}

void Print () { cout << “x=” <<x;}

};

[a] Нет, не имеются

[a] Нельзя перед членами-данными класса ставить спецификатор доступа private, так как это очевидно по умолчанию

[a] Поскольку класс описывается с ключевым словом «class», слово private- излишне

[a] Конструктор должен иметь параметры

[a] Члены - данные класса должны определяться с начальными значениями

[q]3:1 Для каких целей используются комментарии в программе на языке С++? Укажите некорректный способ применения

[a] Для разъяснения очевидных мест программы

[a] Для комментирования произведенных изменений в программе

[a] Для разъяснения операторов, и для чего они используются

[a] Сообщать компилятору игнорировать все, что следует за символом комментария, или находится между символами комментариев

[a] Для временного отключения больших участков программы

[q]3:1 Каково назначение комментариев перед функцией программы? Укажите наиболее приемлемый ответ

[a] Чтобы сделать еще понятнее грамотно написанный код

[a] Пояснить, что делает данная функция

[a] Пояснить какое значение функция возвращает

[a] Как перевод неряшливо написанного кода

[a] Как оправдание программиста за свою леность

[q]3:1 Укажите символы и их сочетания, которые применяются в языке С++ для комментариев?

[a] . ‘/’.

[a] ‘//’…’//’.

[a] ‘*/’…’/*’ и ‘/’…’/’.

[a] ‘/*’ и ‘//’ .

[a] /*…*/ и ’//’

[q]3:1 В чем разница между символами комментариев // и /* ?

[a] Первый – однострочный, т.е. распространяется до конца строки, а второй – пока не встретится символ завершения комментария

[a] Разницы никакой нет

[a] Оба символа могут обеспечивать многострочный комментарий

[a] Оба символа обеспечивают только однострочный комментарий

[a] Разница лишь в написании символов

[q]3:1 Что такое класс, с точки зрения объектно-ориентированного программирования?

[a] Пользовательский тип данных

[a] Абстракция понятия предметной области

[a] Название сущности

[a] Объективная реальность мира

[a] Идентификатор типа для переменной

[q]3:1 Каким образом в программе можно вводить удобные обозначения для сложных описаний типов?

[a] Использовать спецификатор typeid

[a] Введением нового типа

[a] Использованием базовых типов и их сочетаний

[a] Конструированием производных типов

[a] С помощью различных сочетаний служебных слов

[q]3:1 Что обозначает следующий формат производного типа (с именем type):

type * имя;

[a] Указатель на объекты типа type

[a] Ссылка на объекты типа type

[a] Указатель на ссылку типа type

[a] Переменная типа type

[a] Объект типа type

[q]3:1 Что обозначает следующий формат: type1 * имя (type2);

[a] Функция, принимающая аргумент типа type2 и возвращающая указатель на объект типа type1

[a] Указатель на функцию, принимающую параметр типа type2 и возвращающую значение типа type1

[a] Указатель на функцию, принимающую параметр типа type2 и возвращающую указатель на объект типа type1

[a] Ссылка на функцию, возвращающую значение типа type1

[a] Функция с параметром type2 и результатом типа type1

[q]3:1 На какие типы принято разделять все возможные производные типы?

[a] На А,В и С

[a] На скалярные

[a] На агрегатные (структурированные)

[a] На классы

[a] На А и В

[q]3:1 Так как с объектом связано значение, то для объекта задается тип, который:

[a] А, В, С и D

[a] Определяет требуемое для объекта количество памяти

[a] Задаем совокупность операций, допустимых для объекта

[a] Интерпретирует двоичные коды значений при последующих обращениях к объекту

[a] Используется для контроля типа

[q]3:1 Что включают агрегатные (структурированные) типы?

[a] А, В, С и D

[a] Массивы

[a] Структуры

[a] Объединения

[a] Классы

[q]3:1 Какое из следующих выражений не является право - допустимым ? Укажите неправильный ответ

[a] Имя указателя

[a] Имя функции

[a] Имя массива

[a] Имя константы

[a] Вызов функции, не возвращающей ссылки

[q]3:1 Что, кроме типов, для объектов явно, либо по умолчанию, не определяется?

[a] Использование объекта в лево - либо право -допустимом выражении

[a] Класс памяти

[a] Видимость объекта

[a] Продолжительность существования объектов и их имен

[a] Тип компоновки (связывания)

[q]3:1 Описание массива (без указания размера и без списка начальных значений) может использоваться:

[a] В списке формальных параметров при определении функции

[a] В определении массива

[a] При инициализации массива

[a] При работе с массивом

[a] По усмотрению программиста

[q]3:1 Пусть int a=40; int b=50; Какое из выражений выяснит неравенство этих переменных( то есть даст значение true)?

[a] ! (a= =b)

[a] a = b

[a] a <= b && a >= b

[a] a = = b

[a] ! (a!=b)

[q]3:1 Пусть int a=40; int b=50;. Укажите ошибку при применении условного оператора if ?

[a] if (a = b) {int c = a + b;}

[a] if (a = = b) {int c = a + b;}

[a] if (a ! = b) a = b;

[a] if (a < b || a = = b) a = b; b = 0;

[a] int c = (a ! =b)? a : b;

[q]3:1 Что такое рекурсия?

[a] Это способность функции вызывать саму себя

[a] Это способность функции использовать глобальные переменные

[a] Это способность функции использовать локальные переменные

[a] Это способность функции использовать механизм обратного вызова

[a] Это возможность функции вызывать в своем теле любую другую

[q]3:1 Что неправильно в этой функции?

# include<iostream.h>

void f (int x) {return x+x;}