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

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

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

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

 class Base1    {       public:       void func();   };class Base2    {       public:       void func();   }; class Derived: public Base1, public Base2  {    …  };void main() {     Derived a;   … };
Какие из следующих операторов функции main() правильны?

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
a.Base2.func();
a.func();
a.Base1.func();
a.Base1::func();(Верный ответ)
a.Base2::func();(Верный ответ)
Похожие вопросы

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

  class base  { int x, y;    public: base() { x = 0; y = 0; }            int getx() { return x; }            int gety() { return y; }  };  class Derived : private base  { int z;    public: Derived() : base() { z = 0; }            int getz() { return z; }            base::getx;  };  main()  { Derived *obj = new Derived;     /* ??????????? */    }  
Какие из следующих операторов приведут к ошибкам компиляции?

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

  class base  { int x, y;    public: base() { x = 0; y = 0; }            int getx() { return x; }            int gety() { return y; }  };  class Derived : protected base  { int z;    public: Derived() : base() { z = 0; }            int getz() { return z; }            base::gety;  };  main()  { Derived *obj = new Derived;     /* ??????????? */    }  
Какие из следующих операторов приведут к ошибкам компиляции?

В каком из вариантов объявление класса ошибочно?

1.class A{		void F();public:	int Func(int x){ F();}	};2.class A{		char* name;public:	void Func(){ printf("Hello");}};	

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

  class A  { public: void fun() { cout << "функция класса A\n"; }  };  class B: public A  { public: void fun() { cout << "функция класса B\n"; }  };  class C: public B  { public: void fun() { cout << "функция класса C\n"; }  };  
Что будет напечатано в результате выполнения операторов:
      C obj;      obj.A::fun();  

Объявлены классы:

	class A  	 { public: int a;            A() { a = 0; }; 	 }; 	 class B : public A  	 { public: B():A() {}; }; 	 class C : protected A  	 { public: C():A() {}; }; 	 class D : private A  	 { public: D():A(){}; }; 	 
Созданы объекты и ссылки:
 	B* b = new B;  	C* c = new C;  	D* d = new D; 	 
Какие из следующих операторов приведут к ошибкам компиляции?

Объявлены классы:

  class A   { public: int a;            A() { a = 0; };  };  class B : public A   { public: B():A() {}; };  class C : protected A   { public: C():A() {}; };  class D : private A   { public: D():A(){}; };  Созданы объекты и ссылки:  B* b = new B;  C* c = new C;  D* d = new D;  
Какие из следующих операторов приведут к ошибкам компиляции?

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

#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 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?

Выберите вариант правильного объявления шаблона класса 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(){};	

Имеется программный код:

class A{	public :  int a, b;	protected : int z;  	private : short i; } A1;class B : public A{ 	private : int k;  	int func (float d); } B1;
Выберите для него верные определения функции func:
1. int B::func(float d) {   B1.i = b + a;    return b;}  2. int B::func(float d){   k = this.b + a;   return b;}  3. int B::func(float d){   B1.z = this->b + a;   return b;}