C++
Does a pur ...
Мова сайту: Українська
Українська
English
Русский
Тести з програмування
Вхід
Реєстрація
Тести з програмування
Теорія
Сніпети
Статті
Головна
Android
Ціни
FAQ
Історія Cosmo
Правила та умови сервісу
Політика конфіденційності
Політика щодо файлів cookie
Зворотній Зв’язок
Does a pure virtual destructor exist?
Yes
No
Explanation
It exists but must have a body.
destructor
virtual
class
Подобається
Ввійдіть
щоб вподобати
Комментувати
Ввійдіть
щоб прокоментувати
Поширити
Tweet
Пов'язані матеріали
Имея следующую иерархию классов, что будет выведено на экран при выполнении следующего кода? #include <iostream> using namespace std; class Agregated{ public: Agregated(){ cout<<"Agregated construct"<<endl; } ~Agregated(){ cout<<"Agregated destruct"<<endl; } }; class Base{ protected: Agregated * ptr; public: Base():ptr(NULL){ cout<<"Base construct"<<endl; f(); } virtual ~Base()=0; virtual void f()=0; }; Base::~Base(){ if(ptr) delete ptr; cout<<"Base destruct"<<endl; } void Base::f(){ cout<<"Base f"<<endl; } class Derived: public Base{ public: Derived(){ if(!ptr) ptr = new Agregated; cout<<"Derived construct"<<endl; } ~Derived(){ cout<<"Derived destruct"<<endl; } void f(){} }; int main(){ Base* b = new Derived(); delete b; cin.get(); return 0; }
Что будет выведено на экран в результате выполнения такого кода: #include <iostream> struct A { ~A() { std::cout << "~A"; }; }; struct B: public A { virtual ~B() { std::cout << "~B"; }; }; int main() { A *a = new B(); delete a; return 0; }
Что выведет программа? #include "iostream" using namespace std; class A { public: A() {constr();} virtual ~A() {destr();} virtual void constr() const {;} virtual void destr() const {;} }; class B: virtual public A { public: B() {constr();} ~B() {destr();} void constr() const {cout << "B" ;} void destr() const {cout << "~B";} }; int main() { A *a, *b; a = new A; b = new B; delete b; delete a; }
Что будет выведено на экран (в какой последовательности будут вызваны деструкторы)? #include <iostream> using namespace std; class A { public: A () {} ~A() { cout << "~A";} }; class B : public A { public: B () {} ~B () { cout << "~B"; } }; int main () { A *b = new B (); delete b; return 0; }
Что выведет данная программа? #include <iostream> class base { public: base() { std::cout << "base()"; } virtual ~base() { std::cout << "~base()"; } void f() { std::cout << "base f()"; } }; class derived: public base { public: derived() { std::cout << "derived()"; } ~derived() { std::cout << "~derived()"; } void f() { std::cout << "derived f()"; } }; int main() { base* ob = new derived; dynamic_cast<derived*>(ob)->f(); return 0; }
Тести з
C
++
Приєднуйся і вивчай C++
або
Дізнайся більше про
Тести з C++ онлайн
Слідкуй за CodeGalaxy
Мобільний додаток Beta
Зворотній Зв’язок
Продовжуйте вивчати
тести з C++
int main() { const int* i = int(); // 1 int const* j = int(); //2 int* const k = int(); //3 int* l(); //4 ++i; //5 ++j; //6 ++k; //7 ++*k; //8 ++l; //9 } Откомпилируется ли такой код? Если нет, то в каких строчках будут ошибки компиляции? После стандарта C++14.
Какой результат работы программы? #include <iostream> using namespace std; void f(double) { cout<<"f1"<<endl; } void f(const int ) { cout<<"f2"<<endl; } void f( int & ) { cout<<"f3"<<endl; } void main(void) { int n = 1; double b = 2; f(n); f(b); }
#include <iostream> using namespace std; int &test() { static int a = 3; return a; } int main() { ++++++test(); cout << test() << endl; return 0; } Что выведет cout?
При истинности какого из приведенных высказываний имеет смысл вычитание указателей?
Какое ключевое слово используется для описания пространства имен?
В чем разница между X x; и X x(); ?
Зареєструйся Зараз
або
Підпишись на майбутні тести
Ввійдіть щоб вподобати
Ввійдіть щоб прокоментувати