игра брюс 2048
Главная / Программирование / Язык программирования C++ / Тест 11

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

Упражнение 1:
Номер 1
Какими по умолчанию объявляются методы класса?

Ответ:

 (1) private 

 (2) public 

 (3) protected 

 (4) по умолчанию не объявляются 


Номер 2
Какими по умолчанию объявляются элементы структуры?

Ответ:

 (1) private 

 (2) public 

 (3) protected 

 (4) по умолчанию не объявляются 


Номер 3
Какими по умолчанию объявляются элементы объединения?

Ответ:

 (1) private 

 (2) public 

 (3) protected 

 (4) по умолчанию не объявляются 


Упражнение 2:
Номер 1
Что целесообразно определять в public разделе класса?

Ответ:

 (1) все,чтобы уберечь себя от ошибок 

 (2) все,что относится к интерфейсу класса 

 (3) все невиртуальные методы 


Упражнение 3:
Номер 1
Можно ли перегружать оператор разрешения области видимости -"::"

Ответ:

 (1) да 

 (2) нет 


Упражнение 4:
Номер 1
Какие из следующих объявлений метода func синтаксически правильны?

Ответ:

 (1) void func(const Foo& a); 

 (2) void func(Foo& a) const; 

 (3) void func(const Foo& a) const; 


Номер 2
Произойдет ли ошибка при использовании следующей конструкции:
 
 class A { const int f() { . . .}; };
 g(const& A a) { a.f(); . . . }?

Ответ:

 (1) не произойдет 

 (2) да, ошибка компиляции 

 (3) да, ошибка выполнения 


Номер 3
Допустима ли следующая конструкция?
 class A {
     int x;
     int f(const A& a) 
     { 
           x = 0;
           x += a.x; 
           return x; 
     }
 };

Ответ:

 (1) допустима 

 (2) произойдет ошибка компиляции 

 (3) произойдет ошибка при выполнении 


Упражнение 5:
Номер 1
Отметьте правильные объявления переменных

Ответ:

 (1) const int s = 10; int a[s]; 

 (2) int s = 10; const int a[s]; 

 (3) int s = 10; int a[] = new int[s+s]; 


Номер 2
Какое из следующих объявлений является объявлением неизменяемого указателя?

Ответ:

 (1) int const* ptr; 

 (2) const int* ptr; 

 (3) int * ptr const; 

 (4) int* const ptr; 


Номер 3
Если указатель объявлен как
 
char sss = 't';
char ddd;
const char* ptr = &sss;
 какое из следующих выражений верно:

Ответ:

 (1) *ptr++; 

 (2) (*ptr)++; 

 (3) *ptr = 'k'; 

 (4) ptr = &ddd; 


Упражнение 6:
Номер 1
Какая функция класса, не являясь его компонентом, имеет доступ к его защищенным и внутренним компонентам?

Ответ:

 (1) дружественная 

 (2) шаблонная 

 (3) макрофункция 

 (4) статическая 


Номер 2
Какой правильный вызов функции базового класса из объекта производного класса, если в производном классе эта функция была замещена?

Ответ:

 (1) FunctionName(); 

 (2) Base::FunctionName(); 

 (3) Base.FunctionName(); 

 (4) такую функцию вызывать нельзя. 


Номер 3
Какой правильный вызов функции базового класса из объекта производного класса, если в производном классе эта функция не была замещена?

Ответ:

 (1) FunctionName(); 

 (2) FunctionName.Base(); 

 (3) Base.FunctionName(); 

 (4) такую функцию вызвать нельзя 


Номер 4
Какое правильное объявление виртуальной функции, которая принимает одно целочисленное значение и возвращает void:

Ответ:

 (1) void SomeFunction(int); 

 (2) virtual SomeFunction(int); 

 (3) virtual SomeFunction(); 

 (4) virtual void SomeFunction(int); 


Упражнение 7:
Номер 1
С помощью механизма friend можно разрешить обращение к внутренним элементам класса: 

Ответ:

 (1) отдельной функции 

 (2) отдельному методу другого класса 

 (3) всем методам другого класса 


Номер 2
Укажите правильное использование оператора friend

Ответ:

 (1) class A { friend int CountPass(); private: short i;}; 

 (2) class A { public : friend int A::CountPass(); private: short i;}; 

 (3) class A { public : int A1::CountPass(); friend: short i;}; 


Номер 3
Какой результат будет у следующего выражения?
  
  class A
    { CountPass();
      private: short i;
      }A1;
  friend A::CountPass()
    {  A1.i = 23;}
  

Ответ:

 (1) объявление дружественной функции для всех производных класса A 

 (2) инициализация атрибута класса 

 (3) ошибка компиляции 


Упражнение 8:
Номер 1
Какой результат будет у следующего выражения?
  
  class A
    { friend int Freund();
            friend class B;
        public : int x, y;
        private: short i;
    } A1;
  class B
    {  public : void func_B(); }B1;

  int Freund()
    {  A1.x = 1; A1.y = 2; A1.i += 3;
      return A1.x + A1.y + A1.i; 
      }
  void B::func_B()
    {  A1.i = 2; }
  int main()
    {  B1.func_B(); cout << Freund(); }
  

Ответ:

 (1) 6 

 (2) 8 

 (3) 12 


Номер 2
На какой строке произойдет ошибка компиляции?

1:class A
2:  { public: void f1(int &a){val+=a++;};//val инициализируется в конструкторе
3:          int  f2() {return val+1;}; 
4:          int val; 
5: } A1;
6:int main()
7:  {  
8:       A1.f1(); 
9:       A1.f2(); 
10:  }

Ответ:

 (1) 3 

 (2) 5 

 (3) 8 

 (4) 9 


Номер 3
В какой строке будет ошибка компиляции?
  
  1:class A
  2:  { public: void f1(int &a){val+=a++;};//val инициализируется в конструкторе
  3:          int const f2() {return val+1;}; 
  4:          int val; 
  5:          void f3(int f, const char ch);
  6:   } A1;
  
  7: void A::f3(int f, const char ch){
  8:  int d=5;
  9:  f1(*d);
 10:  f2();
 11: }  

  

Ответ:

 (1) 3 

 (2) 6 

 (3) 9 




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