Тесты
Язык сайта: Русский
Українська
English
Русский
Тесты по программированию
Вход
Регистрация
Тесты по программированию
Теория
сниппеты
Статьи
Главная
Android
Цены
FAQ
История Cosmo
Правила и условия сервиса
Политика конфиденциальности
Политика в отношении файлов cookie
Обратная Связь
pure virtual
:
Язык контента: Русский
English
Может ли деструктор быть чисто виртуальным?
pure virtual
Чем отличаются классы имеющие "чисто виртуальные" (pure virtual) функции?
pure virtual
Что выведется при выполнении программы: class A { protected: virtual void v() = 0; public: void f() { std::cout << "A::f()" << std::endl; this->v(); } protected: A() { std::cout << "A::A()" << std::endl; this->f(); } }; class B: public A { private: virtual void v() { std::cout << "B::v()" << std::endl; } }; int main() { A *pa = new B; pa->f(); return 0; }
pure 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; }
pure virtual
Допустимо ли определение чисто виртуального метода следующим образом: class Abstract { public: virtual void pureVirtual() = 0 { // реализация } };
pure virtual
Если класс имеет хотя бы один абстрактный метод (чисто виртуальная функция), то такой класс называется:
pure virtual
Какие строчки нужно убрать, что бы код приведенный ниже компилировался : #include <iostream> class A{ public: virtual void foo() = 0; }; void A::foo() { std::cout << "A foo"; } class B : public A{}; class C : public A{ public: void foo(); }; void C::foo() { std::cout << "C foo"; } class D: public A{ public: void foo(); }; void D::foo() { A::foo(); } class E: public A{ public: //using A::foo; void foo(int) { std::cout << "E foo"; } }; int main(){ (new A)->foo(); // 1 (new B)->foo(); // 2 (new C)->foo(); // 3 (new D)->foo(); // 4 (new E)->foo(2); // 5 }
pure virtual
← Предыдущая
1
Следующая →
Зарегистрируйся сейчас
или
Подпишись на будущие тесты