Тесты
Язык сайта: Русский
Українська
English
Русский
Тесты по программированию
Вход
Регистрация
Тесты по программированию
Теория
сниппеты
Статьи
Главная
Android
Цены
FAQ
История Cosmo
Правила и условия сервиса
Политика конфиденциальности
Политика в отношении файлов cookie
Обратная Связь
virtual
:
Язык контента: Русский
English
Что выведет такой код? #include <iostream> struct A { virtual void method() const { std::cout << "A" << std::endl; } virtual ~A(){} }; struct B : A { virtual void method() { std::cout << "B" << std::endl; } }; int main() { A * ptr = new B(); ptr->method(); delete ptr; return 0; }
virtual
Что выведет следующий код? #include <iostream> using namespace std; struct A { virtual ~A() = 0; }; A::~A() { cout << "~A"; } struct B : A { ~B() { cout << "~B"; } }; int main() { A *a = new B; delete a; }
virtual
При данной иерархии классов, что будет напечатано в консоли в результате выполнения следующего кода? #include <iostream> using namespace std; class A { int m_i; public: A(int i) : m_i(i) { } void print() { cout << sizeof(m_i) << endl; } }; class B : virtual public A { public: B(int i) : A(i) { } }; class C : public B { public: C(int i) : B(i) { } }; int main() { C c(1); c.print(); return 0; }
virtual
Что будет напечатано в результате работы программы ? #include <iostream> class A { private: virtual void VirtualMethod() { std::cout << "A::VirtualMethod()"; } public: A() { VirtualMethod(); } }; class B : public A { private: virtual void VirtualMethod() { std::cout << "B::VirtualMethod()"; } }; void main() { A* a = new B(); delete a; }
virtual
Какая фигура будет нарисована в результате выполнения следующего фрагмента программы: struct Base { virtual void draw( Color Col = RED ) { // рисует квадрат цвета Col } }; struct Derived : Base { virtual void draw( Color Col = GREEN ) { // рисует круг цвета Col } }; // ... вызов полиморфного метода Base * B = new Derived; B -> draw();
virtual
Каким будет результат разных вызовов методов класса и структуры? #include <iostream> class A { public: virtual A &Get() { std::cout << "A"; return *this; } }; struct B : A { B &Get() { std::cout << "B"; return *this; } }; int main(int, char *argv[]) { B b; A &a1(b), a2(a1), *a3(&a2), *a4(&a1); b.Get(); a1.Get(); a2.Get(); a3->Get(); a4->Get(); }
virtual
Могут ли следующие выражения сравнения приведённых указателей быть верными ? (IX*)this != (IY*) this //1 (void*)this != (IY*) this //2
virtual
Чем отличаются классы имеющие "чисто виртуальные" (pure virtual) функции?
virtual
Какой результат выполнения следующего кода с множественным наследованием структур? #include <iostream> struct V { int x; V(int t) : x(t) {} }; struct A : virtual V { int x; A(int t) : V(3 * t), x(3 * t) {} }; struct B : virtual V { int x; B(int t) : V(5 * t), x(5 * t) {} }; struct C : A, B { C(int t) : V(t), A(t), B(t) {} void show_x() { std::cout << "V::x = " << V::x << std::endl; } }; int main() { C c(1); c.show_x(); return 0; }
virtual
Как порядок вызова конструкторов и деструкторов повлияет на результат и что выведется на экран? #include <iostream> using namespace std; struct A { A() { cout << "A"; } ~A() { cout << "~A"; } virtual void operator()() = 0; }; struct B : A { B() { cout << "B"; } ~B() { cout << "~B"; } void operator()() { cout << "B"; } }; int main(void) { B b; A &a = b; a(); b(); return 0; }
virtual
← Предыдущая
1
2
3
4
5
Следующая →
Зарегистрируйся сейчас
или
Подпишись на будущие тесты