В избранном
Проверь себя: Тест. Объектно- ориентированное программиро...
Описание теста
Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования. Предлагаю ответить на вопросы-задачи и проверить свои знания в данной области.
Оценка теста
Добавить свой тест
Ваша оценка теста
Тест. Объектно- ориентированное программирование
Начало теста
С помощью чего реализуется принцип полиморфизма в С ++?
наличия множественного наследования.
наличия виртуальных методов
Использование виртуального наследования.
наличия абстрактных классов.
В программе описано класс и объект class A {public: int a, b, c; }; A * obj; Как обратиться к атрибуту c?
Какая из перечисленных функций не может быть конструктором?
Отметьте правильное утверждение для абстрактного класса для языка С ++
Класс, у которого все методы чисто виртуальные, называется абстрактным.
Абстрактный базовый класс навязывает определенный интерфейс всем производным из него классам.
Невозможно создать объект абстрактного класса
В абстрактном классе не описываются методы вообще.
Если в программе на языке С ++ в производном классе переопределена операция new то …
все объекты этого класса и все объекты классов, выведенных из него, будут использовать эту операцию независимо от зоне видимости, в которой она переопределена.
производные от этого класса могут использовать глобальную операцию применив операцию базовий_класс :: new.
операцию new нельзя переопределить.
в любом случае эта операция будет доступна только в пределах класса-потомка.
Какой из перечисленных методов может быть конструктором для класса String в языке С ++?
Какая функция, не будучи компонентом класса, имеет доступ к его защищенным и внутренних компонентов?
Вызовет данный код ошибку компиляции? class Rectangle public: int a, b; int sum (); int square (); ~ Rect (); }
Ошибка являются: имя деструктора не может начинаться с маленькой буквы.
Ошибка являются: имя деструктора должно совпадать с именем класса.
Ошибка являются: никакой идентификатор в С ++ не может начинаться со знака «~».
Укажите правильное объявление виртуального метода, который принимает одно целочисленное значение и возвращает void.
virtual void SomeFunction (int * x)
virtual SomeFunction (int х)
void SomeFunction (int х) virtual
virtual void SomeFunction (int х)
Укажите правильное использование оператора friend.
class A {int_friend CountPass (); private: short i;}
class A {public: friend int Н :: CountPass (); private: short i;}
class A {public: int A1 :: CountPass (); friend: short i;}
class A {public: friend int Н :: q; short i;}
Принцип объектно-ориентированного программирования, заключается в объединении атрибутов и методов объекта с целью обеспечения сохранности данных, называется
В программе описано абстрактный класс А и производный от этого класса класс А1. Какой из записей заведомо неверный?
Выберите верное утверждение о деструктор класса в С ++
Деструктор принимает в качестве параметра адрес того объекта, который нужно уничтожить
Деструктор принимает в качестве параметра указатель this
Деструктор не содержит параметров
Деструктор принимает в качестве параметра тот объект, который нужно уничтожить.
Укажите правильный вариант доступа к членам объектов (язык С ++), описанных следующим образом: class my {char s;public: double Z; int f (int c, int d) {return c + d;}; } T1, T2
Какой из вариантов записи абстрактного класса в С ++ является правильным?
abstract class A {virtual int f () = 0;}
class A {virtual int f () = 0;}
class A {virtual int f () = 0;} abstract
class A {virtual int f ();}
Отсутствуют попытки запудрить мозги, выдумать что-то заморочнное и слабо применимое на практике, отсутствует использование мутной терминологии, которая может трактоваться неоднозначно и произвольно.