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

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

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

Для чего нужны виртуальные базовые классы?

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

Варианты ответа
чтобы упростить вызов конструкторов базового класса
чтобы производный класс содержал не более одного экземпляра базового класса(Верный ответ)
чтобы все функции базового класса были виртуальными
чтобы уменьшить размер объектов производного класса (Верный ответ)
Похожие вопросы

Может ли класс, которому принадлежит другой класс, переопределить виртуальные функции этого класса?

Как называется язык, если в нем реализованы классы, но не реализовано наследование?

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

  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; 	 
    Какие из следующих операторов приведут к ошибкам компиляции?

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

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

    Верно ли объявлены следующие классы:

    class MyClass1   {     int n;     MyClass1(int);     ~MyClass1();   };class MyClass2   {     float s;     MyClass2(int);     ~MyClass2();   };
    Для чего используется шаблон?

    Для чего предназначен сервер заявок?

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

      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;     /* ??????????? */    }  
    Какие из следующих операторов приведут к ошибкам компиляции?