игра брюс 2048
Главная / Программирование / Введение в программирование / Тест 12

Введение в программирование - тест 12

Упражнение 1:
Номер 1
Для вызова статического метода:

Ответ:

 (1) необходимо создать экземпляр класса, членом которого является вызываемый статический метод 

 (2) необходимо создать экземпляр класса, членом которого является вызываемый статический метод, или экземпляр производного класса 

 (3) экземпляр класса можно не создавать 


Номер 2
Из статического метода - члена класса можно вызывать:

Ответ:

 (1) только другой статический метод - член класса 

 (2) любой метод - член класса 

 (3) статический метод или метод - член класса 


Номер 3
При вызове из метода main имя статического метода:

Ответ:

 (1) квалифицируется именем класса (с использованием операции принадлежности ::

 (2) квалифицируется именем экземпляра класса 

 (3) указывается без квалификации имени метода 


Упражнение 2:
Номер 1
При вызове  не виртуального метода с использованием указателя на класс:

Ответ:

 (1) вызывается метод, соответствующий типу объекта, на который указывает указатель 

 (2) вызывается метод, соответствующий типу самого указателя 

 (3) вызывается метод, соответствующий типу самого указателя или типу объекта 


Номер 2
Какая из следующих функций является чисто виртуальной функцией?

Ответ:

 (1) virtual void F1( int) =0;  

 (2) virtual void F1( int) { return 0;}  

 (3) virtual void F1( int) { }  


Номер 3
Производный класс всегда является абстрактным классом в том случае, если:

Ответ:

 (1) он наследуется от абстрактного класса 

 (2) он имеет хотя бы одну чисто виртуальную функцию 

 (3) он имеет хотя бы одну виртуальную функцию 


Упражнение 3:
Номер 1
Отметьте код, корректно определяющий шаблон метода, который имеет два параметра одного типа и возвращает значение этого же типа:

Ответ:

 (1) template <class T1, class T2> T2 Fx (T1 x, T1 y) {return 0;}  

 (2) template <class T1> T1 Fx (T1 x, T1 y) {return y;}  

 (3) template (class T1) T1 Fx (T1 x, T1 y) {return x+y;}  


Номер 2
Отметьте код, который должен быть записан для реализации конструктора шаблона класса: template <class T1> class A   
{T1 x,y;
public:
    A();
    ~A();
};

Ответ:

 (1) template (class T1) A( T1)::A() { }  

 (2) template <class T1> A< T1>::A() { }  

 (3) A< T1>::A() { }  


Номер 3
Отметьте код, используемый для создания объекта параметризированного типа (на базе шаблона класса template <class T1>  class A  { }):

Ответ:

 (1) A (int) F1;  

 (2) A int F1;  

 (3) A <int> F1;  


Упражнение 4:
Номер 1
Отметьте правильный код, создающий в языке С++ указатель на статическую переменную iStatVar определенную следующим образом: class A
{ public: 
         static int iStatVar; 
};
void main (void) {
int A:: iStatVar = 0;
}

Ответ:

 (1) A *piStatVar = &A:: iStatVar;  

 (2) int *piStatVar = &A:: iStatVar;  

 (3) A *piStatVar = A:: iStatVar;  


Номер 2
Какой код на языке С++ корректно описывает следующую реализацию конструктора класса A? class A { public: 
  A (void);
	  ~A (void);
	    static int i1;
	    };

Ответ:

 (1) A::A(void) : i1(0) { }  

 (2) A::A(void) { i1=0; }  

 (3) A::A(void) { }  


Номер 3
На каком этапе происходит определение выполняемого метода при позднем связывании в языке С++?

Ответ:

 (1) на этапе компиляции 

 (2) на этапе выполнения 


Упражнение 5:
Номер 1
Какой из объявленных методов - членов класса A class A
{public:
		a1(void);
		~a1(void);
		int Fx1(int i1);
	protected:
static int Fx2(void);  
public:
		static int Fx3(void);    
}; является статическим и общедоступным (язык C++)?

Ответ:

 (1) Fx1 

 (2) Fx2 

 (3) Fx3 


Номер 2
При вызове  виртуального метода с использованием указателя на класс в языке С++:

Ответ:

 (1) вызывается метод, соответствующий типу объекта, на который указывает указатель 

 (2) вызывается метод, соответствующий типу самого указателя 

 (3) вызывается метод, соответствующий типу самого указателя или типу объекта 


Номер 3
Абстрактный класс языка С++ должен содержать:

Ответ:

 (1) только чисто виртуальные функции 

 (2) хотя бы одну чисто виртуальную функцию 

 (3) только виртуальные функции 




Главная / Программирование / Введение в программирование / Тест 12