Quizzes
Site Language: English
Українська
English
Русский
Programming Tests
Login
Sign Up
Programming Tests
Theory
Snippets
Papers
Landing
Android
Prices
FAQ
Cosmo Story
Terms and Conditions
Privacy Policy
Cookies Policy
Send Feedback
pure virtual
:
Content language: Русский
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
← Prev
1
Next →
Sign Up Now
or
Subscribe for future quizzes