Тесты
Язык сайта: Русский
Українська
English
Русский
Тесты по программированию
Вход
Регистрация
Тесты по программированию
Теория
сниппеты
Статьи
Главная
Android
Цены
FAQ
История Cosmo
Правила и условия сервиса
Политика конфиденциальности
Политика в отношении файлов cookie
Обратная Связь
virtual
:
Язык контента: Русский
English
Что выведет на консоль следующий программный код? #include <iostream> class Base { public: virtual void Foo() { std::cout << "Base::Foo "; } virtual ~Base() {} }; class Derived: public Base { public: int Foo() { std::cout << "Derived::Foo "; return int();} }; int main() { Base *d = new Derived; d->Foo(); delete d; return 0; }
virtual
Что будет выведено на экран в результате работы программы? #include <iostream> using namespace std; struct B { void f() { cout << "B"; } }; struct C: B { void f() { cout << "C"; } }; int main() { C c; B *b1 = &c; b1->f(); B b2 = c; b2.f(); return 0; }
virtual
Что выведет программа? #include <iostream> using namespace std; class a { private: virtual void f(int) { cout<<"a int"; } }; class b : public a { public: class a; friend void f(double) { cout<<"b double"; } void f(int) { cout<<"b int"; } }; int main (void) { b* o = new b; o->f(0.5); return 0; }
virtual
В некоторых источниках советуют инициализировать нулём поля экземпляра структуры. Как поведет себя следующий фрагмент кода при компиляции, при запуске? #include <iostream> #include <typeinfo> using namespace std; class A { public: virtual const type_info& Type() { return typeid(*this); } }; struct B : public A { public: int field1; int field2; int field3; B() { memset(this, 0, sizeof(B)); } }; int main() { A* b = new B(); cout << b->Type().name(); return 0; }
virtual
Что произойдет при компиляции и выполнении программы? #include <iostream> using namespace std; class A { public: A() { CoolVirt("A()"); } ~A() { CoolVirt("~A()"); } protected: void CoolVirt(const char* str) { f(str); } virtual void f(const char* str) = 0; }; class B: public A { public: B() { CoolVirt("B()"); } ~B() { CoolVirt("~B()"); } protected: void CoolVirt(const char* str) { f(str); } void f(const char* str) { cout << str << endl; } }; int main() { B b; return 0; }
virtual
Какие фрагменты кода при вставке в строку (1) независимо друг от друга не приведут к ошибке компиляции? struct A { // (1) };
virtual
Что будет выведено на консоль в результате выполнения следующей программы? #include <iostream> class Base { public: virtual void Foo() { std::cout << "Base::Foo "; } virtual ~Base(){} }; class Derived: public Base { public: void Foo(int k = 0) { std::cout << "Derived::Foo "; } }; int main() { Base *d = new Derived; d->Foo(); delete d; return 0; }
virtual
Для чего используется виртуальное наследование?
virtual
Каков результат компиляции и выполнения следующего кода: #include <iostream> using namespace std; class Shape { virtual void show() = 0; }; class Circle: public Shape { void show() { std::cout<<"Circle\n"; } }; class Triangle: Shape { void show() { std::cout<<"Triangle\n"; } }; int main(int argc, char* argv[]) { Shape* shape1; shape1 = new Circle(); shape1->show(); Shape* shape2 = new Triangle(); shape2->show(); delete shape1; delete shape2; return 0; }
virtual
Что произойдёт в результате попытки преобразования dynamic_cast: #include <iostream> using namespace std; class A{ public: virtual ~A() {} }; class B: public A{ }; int main(){ A a; try{ B & b = dynamic_cast<b &>(a); }catch(...){ } return 0; }
virtual
← Предыдущая
2
3
4
5
6
Следующая →
Зарегистрируйся сейчас
или
Подпишись на будущие тесты