Int f (int X) const;
[a] Значения данных (атрибутов) текущего объекта ( который вызовет эту функцию) не могут быть изменены
[a] Функция возвращает константу
[a] Значение аргумента не будет подвергаться изменению
[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 Как объявить многомерный массив?
[a] Запишите отдельный набор индексов для каждого измерения. Например, массив SomeArray[2][3][2] является трехмерным. Первое измерение содержит два элемента, второе–три, а третье-два.
[a] Запишите общий набор индексов для каждого измерения. Например, массив SomeArray[2][3][2] является трехмерным. Первое измерение содержит два элемента, второе–три, а третье-два.
[a] Хватит одной записи отделного набора индекса для одного измерения
[a] Не возможно объявить многомерный массив
[a] Все ответы не правильны
[q]3:1 Что такое локальная переменная?
[a] Это переменная, передаваемая или объявленная внутри некоторого блока (обычно функции). Она действует только в пределах этого болка
[a] Это переменная, передаваемая или объявленная снаружи некоторого блока. функции). Она действует за пределами блока
[a] Это переменная, передаваемая, но не объявленная внутри некоторого блока
[a] Все ответы неправильны
[a] Такой переменной не существует
[q]3:1 Что такое ссылка?
[a] Это псевдоним переменной объекта
[a] Это тип переменной объекта
[a] Это адрес переменной объекта
[a] Это оператор ссылки (&) и имя ссылки
[a] Это такая же стандартная переменная
[q]3:1 Сколько элементов содержит массив SomeArray[10][5][20]?
[a] 10*5*20=1000
[a] 10*5*20=100
[a] 10*3*20=1000
[a] 1*5*20=1000
[a] 1*5*20=10
[q]3:1 Что такое полиморфизм?
[a] Это возможность вызова одноименных методов для объектов разных, взаимосвязанных типов с учетом различий в выполнении функции для разных типов. В С++ полиморфизм реализуется путем создания производных классов и виртуальных функций
[a] Это возможность вызова одноименных методов для объектов одинаковых, взаимосвязанных типов с учетом различий в выполнении функции для одинаковых типов. В С++ полиморфизм реализуется путем создания производных классов и виртуальных функций
[a] Это возможность вызова разноименных методов для объектов разных, взаимосвязанных типов с учетом различий в выполнении функции для разных типов. В С++ полиморфизм реализуется путем создания производных классов и виртуальных функций.
[a] Это возможность вызова параметров для объектов разных, взаимосвязанных типов с учетом различий в выполнении функции для разных типов. В С++ полиморфизм реализуется путем создания производных классов и виртуальных функций
[a] Все ответы не правильны
[q]3:1 Что такое «объектная декомпозиция»?
[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] Объявление класса является его интерфейсом, который сообщает клиентам класса, как с ним взаимодействовать. Реализация класса – это набор функций-членов, сохраняемых обычно в файле с расширением .hрр
[a] Объявление класса является его реализацией, который сообщает клиентам класса, как с ним взаимодействовать. Интерфейс класса – это набор функций-членов, сохраняемых обычно в файле с расширением .hрр.
[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 Если перечисление (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 Если объявить два объекта класса Cat, могут ли они иметь различные значения переменных-членов itsAge?
[a] Да. Каждый объект класса имеет собственные переменные-члены.
[a] Нет. Объекты класса имеют общие переменные-члены.
[a] Нет. Каждый объект класса не имеет собственные переменные-члены.
[a] Все ответы не правильны.
[a]Нет. Каждый объект класса имеет общие переменные-члены.
[q]3:1 Среди диаграмм UML наиболее часто используемой является диаграмма:
[a] классов
[a] вариантов использования (прецедентов)
[a] пакетов
[a] взаимодействий
[a]деятельности
[q]3:1 Каким образом в программе можно вводить удобные обозначения для сложных описаний типов?
[a] Использовать спецификатор typeid
[a] Введением нового типа
[a] Использованием базовых типов и их сочетаний
[a] Конструированием производных типов
[a] С помощью различных сочетаний служебных слов
[q]3:1 Что представляет собой указатель this?
[a] Это скрытый параметр, который указывает на сам объект
[a] Это закрытый параметр, который указывает на сам объект.
[a] Это открытый параметр, который указывает на сам объект.
[a] Это скрытый параметр, который указывает на другой объект.
[a] Это скрытый параметр, который не указывает на сам объект
[q]3:1 Как выглядел бы заголовок функции-члена Meow класса Cat, которая не принимает параметров и возвращает значение void?
[a] Заголовок функции-члена Meow() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:
void Cat::Meow()
[a] Заголовок функции-члена Meow() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:
void Cat<<Meow()
[a] Заголовок функции-члена Meow() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:
void Cat:;Meow()
[a] Заголовок функции-члена Meow() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:
void Cat::Meow{}
[a] Заголовок функции-члена Meow() класса Cat, которая не принимает параметров и возвращает значение типа void, должен иметь следующий вид:
void Cat>>Meow()
[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] Определение резервирует память, а объявление – нет. Объявления часто являются и определениями, за исключением объявлений классов, прототипов функций и новых типов с помощью ключевого слова typedef.
[a] Все ответы не правильны
[a] Определение не резервирует память, а объявление – да. Объявления часто являются и определениями, за исключением объявлений классов, прототипов функций и новых типов с помощью ключевого слова typedef.
[a] Определение резервирует память, а – нет. Объявления часто являются и определениями, за исключением объявлений классов, прототипов функций и новых типов с помощью ключевого слова typerun.
[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 Спецификатор доступа private: определяет:
[a] атрибуты и процедуры, доступные только методам, определенным в классе;
[a] атрибуты, доступные из main;
[a] атрибуты и процедуры, доступные процедурам, определенным в классе и его наследнике;
[a] доступ из наследуемого класса;
[a]доступ к переменным экземпляра класса.
[q]3:1 Подкласс наследует:
[a] public: и protected: - члены базового класса ;
[a] public: - члены базового класса;
[a] только protected: - члены базового класса;
[a] не private: - члены базового класса;
[a]все методы базового класса, кроме дружественных.
[q]3:1 Доступны ли члены базового класса из производного в случае, когда их имена в производном определены по-новому?
[a] не доступны;
[a] доступны;
[a] доступны все со спецификатором protected:;
[a] доступны все со спецификатором public:;
[a]зависит от реализации.
[q]3:1 К какому компоненту класса доступ возможен только после его инициализации?
[a] члену- данному со модификатором доступа static;
[a] члену- данному со спецификатором доступа public:;
[a] члену- данному со спецификатором доступа private:;
[a] к переменной экземпляра класса;
[a] члену- данному со спецификатором доступа protected:
[q]3:1 Учитывая объявления: char c; const char cc= ‘x’; char*pc; const char*pcc;
const char*const cpcc =&cc;
Какое из следующих присваиваний правильное:
[a] pcc = &c;
[a] cc = c;
[a] pc = &cc;
[a] pc = pcc;
[a]pc = cpcc.
[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 В соответствии с семантикой бинарных операций C++, операции- функции с названиями operator =, operator [], operator → должны быть:
[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 Наиболее важное применение оператора dynamic- cast:
[a] упрощает логику приведения типа указателя базового класса к типу указателя производного класса;
[a] упрощает логику программы;
[a] можно использовать, как и оператор typeid, с классами- шаблонами;
[a] обеспечивает более безопасный и интуитивно понятный способ выполнения операции преобразования типа;
[a] в языках программирования, в которых реализуется полиморфизм.
[q]3:1 Что образует ядро библиотеки стандартных шаблонов?
[a] контейнеры, алгоритмы и итераторы;
[a] контейнеры;
[a] алгоритмы :
[a] итераторы;
[a] распределители памяти, предикаты и функции сравнения.
[q]3:1 Каким образом можно получить доступ к членам вектора?
[a] либо через оператор индекса, либо через итератор .
[a] через оператор индекса;
[a] через указатель;
[a] через итератор;
[a] либо через оператор индекса, либо через указатель;
[q]3:1 Каково главное достоинство строкового класса?
[a] с объектами типа string можно обращаться так же, как и со встроенными
типами данных типа C++;
[a] возможность манипулирования со строками с помощью обычных операторов
присваивания, конкатенации и сравнения;
[a] объекты типа string можно совершенно свободно указывать в выражениях вместе с ‘\0’ ;
[a] нет необходимости задавать размеры строк;
[a] объекты типа string автоматически настраиваются на хранение строк требуемой длины .
[q]3:1
[q]3:1 Доступны ли члены базового класса из производного в случае, когда их имена в производном определены по-новому?
[a]не доступны;
[a] доступны;
[a] доступны все со спецификатором protected:;
[a] доступны все со спецификатором public:;
[a] зависит от реализации.