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

Программирование на языке C++

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

Почему приведенный ниже фрагмент кода НЕВЕРЕН?
namespace f { struct Obj {     struct T;     template<class T, class f>     virtual void  f() {     }  }; };  

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

Варианты ответа
виртуальные методы не могут быть шаблонами. (Верный ответ)
параметр шаблона f конфликтует с именованной областью f.
классы и структуры не могут содержать шаблоны методов.
предварительное описание Т конфликтует с параметром шаблона T.
здесь все верно.
Похожие вопросы
Что выведется на экран в результате работы следующего кода?
class Base{ public:  virtual void f() {cout<<"111"<<endl;}};class Derived: public  Base{ public:  void f() {cout<<"222"<<endl;}};int main(){ Base* ptr= new Derived; ptr->f(); return 0;}
Что выведется на экран в результате работы следующего кода?
class Base{ public:  Base(int _x=10){x=_x;} virtual void f() {cout<<x*2<<endl;} protected: int x;};class Derived: public  Base{ public:  void f() {cout<<x/2<<endl;}};int main(){ Derived d; Base* pB= &d; pB->f(); return 0;
В чем, кроме имени, различие между методами "f1()" и "f2()" в приведенном ниже коде?
struct Foo {     int f1() {         return 0;     }     int f2(); }; int Foo::f2() {     return 0; };  
Шаблон функции описан как template<class X, class Y, class Z>void f(Y, Z);Какой из вызовов этой функции неверный?
Шаблон функции описан как template<class X, class Y, class Z>void f(X, Z);Какой из вызовов этой функции неверный?
В каком месте приведенного ниже класса следует инициализировать переменную I?
class Foo {     const int I;     static void Init(int x);     void Setup(int x = 0) const; public:     Foo(int x = 0); };  
Что выведется на экран в результате работы следующего кода?
class Base{ public:  void f() {cout<<"111"<<endl;}};class Derived: public  Base{ public:  void f() {cout<<"222"<<endl;}};int main(){ Base* ptr= new Derived; ptr->f(); return 0;}
Что выведется на экран в результате работы следующего кода?
class Base{ public:  Base(int _x = 10){x = _x;} void f() {cout<<x*2<<endl;} protected: int x;};class Derived: public  Base{ public:  void f() {cout<<x/2<<endl;}	};int main(){ Derived d; Base* pB= &d; pB->f(); return 0;}
Какое из следующих утверждений о классе "derived2" верно для приведенного ниже кода?
class mybase {}; class derived1 {}; class derived2:public mybase,derived1{};  
При компиляции следующего примера возникает ошибка. Чтобы ее исправить, необходимо ...
class Foo{int x;public: Foo(int i){}};class Bar: virtual Foo{public: Bar(){}};Bar b;