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

Язык программирования C++ для профессионалов

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

К какому виду относится класс, объявленный так:

  class dim   { public: virtual void add(X*) = 0;            virtual void sub(X*) = 0;            virtual int sum() = 0;            virtual ~dim(){};  }    

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

Варианты ответа
интерфейсный класс
управляющий класс
конкретный тип
узловой класс
абстрактный тип(Верный ответ)
Похожие вопросы

Определены классы:

  class window   { virtual void move();  };  class figure   { virtual void move();  };  class cwindow : public window  { virtual int wmove(int) = 0;    void move() { wmove(); }  };  class cfigure   { virtual int fmove(int) = 0;    void move() { fmove(); }  };  class wind_fig : public cwindow, public cfigure  { void wmove();    void fmove();  };  
К какому виду относится класс wind_fig?

Что выводит данная программа, если она верна?

#include <iostream.h>class Х{public:virtual void fun(int a = 0){cout << a;}};class Y: public X{public:virtual void fun(int a = 1) {cout << a ; }};int main(){X *px = new X;px->fun();X *py = new Y;py->fun();return 0;}	

Какое отношение между классами реализовано в данном случае?

   class A  {  public: A() { a = 0; };             virtual int f() { return a; }             int a;  };  class B: public A  {  public: B() { a = 1; };     virtual int f() { return a; }  };  

Что будет напечатано в результате работы программы:

  class A   { public: A() { cout << "A "; };            virtual A* new_A() { return new A(); }  };  class B : public A   { public: B(){ cout << "B " ;};            A* new_A() { return new B(); }  };  void fun(A* p1, A* p2)  { A* p3 = p1->new_A();    A* p4 = p2->new_A();  }  void main()  { A* p1 = new A;    B* p2 = new B;    fun(p1,p2);  }    

К какому виду относится класс, объявленный так:

  class vector_handler   { vector* p;    public: vector* operator->() { return p; }            vector_handler(vector* pp) : p(pp) { }  };    

Выберите вариант правильного объявления шаблона класса A:

1.class A<T>{public:	void f();};void A<T>::f(){}; 2.template<class T>class A{public:	void f(){}};template<class T>void A::f(){};	

Выберите вариант правильного объявления шаблона класса A:

1.template<class T>class A{public:void f();};template<class T>void A<T>::f(){};2.template<class T>class A{public:void f();};void A<T>::f(){};	

Выберите правильный вариант программного кода:

1.template<typename T>class A{public:	void f(){}};class A<int>{public:	void f(){}};2.template<typename T>class A{public:	void f(){}};template<> class A<int>{public:	void f(){}};	

Интерфейс определен следующим образом:

  class X   { Y a; Z b;    void set(Y&);    public: void f(const char*);            void g(int[10], int);   }         
Какая проблема может возникнуть при его использовании?

Что обозначает запись class A { virtual f() = 0; };?