База ответов ИНТУИТ

Язык программирования C++

<<- Назад к вопросам

Шаблон A и его специализации объявлены следующим образом:
template <class T> class A{  public:  A(){ printf("1   ");}};template <> class A<int>{  public:  A(){ printf("2   ");}};template <> class A<char*>{  public:  A(){ printf("3   ");}};  
Какой будет результат после выполнения кода
A<int> a;A<char> a1;A<long> a2;  

(Отметьте один правильный вариант ответа.)

Варианты ответа
2 1 1(Верный ответ)
1 1 1
2 3 1
ошибка компиляции в строке "template <> class A<int>"
Похожие вопросы
Какая строка данного кода производит специализацию шаблона?
1:template<class Т> class А{2:int х;3:};4:template<class Т> class А<Т*> {5:long х;6:};7:template<template<class U> class V> class C{8:V<int> y;9:V<int*> z;10:};11:C<A> c;  
Верен ли код
Team::Player p; p.GoGoGo();
для класса Team, описанного следующим образом:
class Team{public: int score; class Player { public:  void GoGoGo(){ printf("Player is going to a goal.\n");  } }; void SetScore(int x){ score = x;} void ShowScore(){printf("%d\n",score);}};  
Что будет выведено на экран?
    template <class T> class A    { public : T x1; T x2;               T func(T x3)                { x3 += x1 + x2;                  return x3;                }    };    int main()    { A <int> A1;      A1.x1 = 3; A1.x2 = 10;      cout << A1.func(1);      ....    }    
Имеется класс:
class Team{public: int score; class Player { public:  void GoGoGo(){ printf("Player is going to a goal.\n");  } }; void SetScore(int x){ score = x;} void ShowScore(){printf("%d\n",score);}}; 
Выберите из нижеприведенных записей корректные коды для этого класса:
1. Team::Player p; p.GoGoGo();2. Team t;t.Player p;p.GoGoGo(); 
Какой правильный вариант создания экземпляра объекта?
 template <class T> class Matrix {  public : Matrix(int, int);      ~Matrix() { } }    
Если записано
class A { public: void f() { cout << 1; } }; class B : public A { public: void f() { cout << 2; } };
то что будет напечатано в результате выполнения кода?
B b; A& a=b; a.f();
Если в конструкторе класса
class  A { public:    A() { ptr = new char[size];         Init(); }    ~A() { if (ptr) delete[] ptr; }    char* ptr; };
произойдет исключительная ситуация, будет ли потеряна память при откате по стеку?
Какой будет результат следующего выражения?
    template <class T> T sum(T *a, T *b)    {  T f = 5;       return (*a + *b) - f;    }    int main()    { int i = 10, j = 20;  double x = 5.1, y = 2.2;      cout << sum(&i, &j) << " " << sum(&x, &y);    }    
Укажите какое из выражений будет правильным?
class A  { public :  int a, b;    protected : int func (float d) {};    private : short i; } A1;class B : public A  { private : int k; } B1;class C : public B  { protected : int l, m; } C1;
Какой будет результат выполнения следующего кода?
class A {public:     int y;     int inc(int x) { return ++y; };     int inc(short x) { return x + y; };};A obj; int y = 5; obj.y = 6;cout << obj.inc(y);