Какие принципы объектно-ориентированного программирования реализуются классами?
Чем класс отличается от структуры?
Как получить доступ к закрытым членам класса из других объектов?
Верно ли объявлен следующий класс?class MyClass { int n; MyClass (int); ~MyClass (); };
Выберите корректное определение класса
Name
Name class{}
 
Name{}
 
class Name(){}
 
class Name{};
 
Верно ли такое объявление класса
Name
?class Name { public: int Age; char* name; };
Верно ли такое объявление класса?
class A { int x; };
Класс
А
определен следующим образом:class A { int x; }; Отметьте корректный вариант обращения и использования классаA
:
A a[100];
 
A a = (A)12;
 
A a = new A();
 
Выберите правильный вариант обращения к элементам и использования класса
A
:class A { int x; };
A *\a* = [120];
 
A a[100];
 
A int [20];
 
A /a*/ = [11];
 
В каком из вариантов объявление класса ошибочно?
1.class A { void F(); public: int Func(int x){ F();} }; 2.class A { char* name; public: void Func(){ printf("Hello");} };
Объявлен класс
A
и объектd
:class A { int a, b, c; public: A() {a = 1; b = 2; c = 3; }; int get_a() { return a; } int get_c() { return c; } int get_b() { return b; } }; A* d = new A; Как обратиться к переменнойс
?
d.c;
 
d.get_c();
 
d->get_c();
 
d->c;
 
Объявлен класс
class A { public: int a,b,c;}; A *obj;
Как обратиться к переменнойс
?
obj.c
 
obj->a->b->c
 
obj->c
 
obj->a.c
 
Объявлен класс
class A { public: int a,b,c;}; A obj;
Как обратиться к переменнойс
?
obj.c
 
obj->a->b->c
 
obj->c
 
obj->a.c
 
Какое из следующих объявлений класса не вызовет ошибки при компиляции?
Отметьте правильное создание объекта вложенного класса
cls2
, если имеется следующее объявление:class cls1 { public : int yy; class cls2 { public : int zz; }; };
cls1::cls2 c2;
 
cls2 c2;
 
cls2::cls1 c2;
 
Выберите правильные объявления дружественного класса:
class B{ ... }; class A { friend class B; };
 
class B{ ... }; class A { friend class A::B; };
 
class B{ ... }; class A { friend class B; }; class C { friend class A; };
 
Выберите правильное объявление дружественной функции:
class A { public: friend bool fun(A & obj1, A & obj2); };
 
class A { public: bool friend fun(A & obj1, A & obj2); };
 
class A { public: bool fun(A & obj1, A & obj2) friend; };
 
Выберите варианты правильного объявления классов?
Какие типы конструкторов используются для инициализации объектов?
Объявляется класс
T
. Какой из следующих прототипов конструкторов является конструктором по умолчанию?
T();
 
T(int, int);
 
T(const A&);
 
Объявляется класс
T
. Какой из следующих прототипов конструкторов является конструктором копирования?
T();
 
T(int, int);
 
T(const T&);
 
Какие утверждения являются правильными?
Какие утверждения являются правильными?
~
 
Какие служебные слова предназначены для указания видимости членов класса?
public
 
private
 
protected
 
void
 
const
 
static
 
Какие служебные слова могут быть использованы в качестве типа класса?
class
 
struct
 
operator
 
friend
 
enum
 
Выберите наиболее правильное определение функций-членов класса:
Какими по умолчанию являются элементы структуры?
protected
 
public
 
private
 
Какими по умолчанию являются элементы класса?
protected
 
public
 
private
 
Объявлены классы:
class A { public: int a; A() { a = 0; }; }; class B : public A { public: B():A() {}; }; class C : protected A { public: C():A() {}; }; class D : private A { public: D():A(){}; }; Созданы объекты и ссылки:B* b = new B; C* c = new C; D* d = new D; Какие из следующих операторов приведут к ошибкам компиляции?
c->a = 7;
 
A* p = (A*)c;
 
d->a = 7;
 
A* p = d;
 
Какой будет результат следующей программы?
class t { public: t() { s = 2; } ~t() {}; int s; int f(int a) { s++; return s * a; } class t2 { public : int i; }; }; main() { t obj_t; t::t2 obj_t2; obj_t2.i = 5; cout << (obj_t.f(2) + obj_t2.i) << endl; }
11
 
10
 
12
 
Какой будет результат следующей программы?
class t { public: t() { s = 4; } ~t() {}; int s; int f(int a) { s--; return s * a; } class t2 { public : int i; }; }; int main() { t obj_t; t::t2 obj_t2; obj_t2.i = 10; cout << (obj_t.f(2) + obj_t2.i) << endl; }
15
 
12
 
16
 
Какой будет результат следующей программы?
class t { public: t(int i, int j); ~t() {}; int s, m; class t2 { public : int i; }; }; t::t(int i, int j) { s = i; m = j; } int main() { t obj_t(5, 10); t::t2 obj_t2; obj_t2.i = 10; cout << (obj_t.s + obj_t.m + obj_t2.i) << endl; return 0; }
15
 
10
 
25