Тести
Мова сайту: Українська
Українська
English
Русский
Тести з програмування
Вхід
Реєстрація
Тести з програмування
Теорія
Сніпети
Статті
Головна
Android
Ціни
FAQ
Історія Cosmo
Правила та умови сервісу
Політика конфіденційності
Політика щодо файлів cookie
Зворотній Зв’язок
virtual
:
Мова контенту: Русский
English
Что выведет на экран данная программа? #include <iostream> using namespace std; class A { public: virtual void foo(){ cout<<"A"; } }; class B: public virtual A { public: virtual void foo(){ cout<<"B"; } }; class C: public virtual A {}; class D: public B, public C {}; int main(void) { D d; C &c = d; c.foo(); return 0; }
virtual
Что выведет программа? #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; }
virtual
Какой будет результат выполнения программы? #include <stdio.h> class Grand { public: virtual void Count() = 0; }; class ParentFather : virtual public Grand{ public: virtual void Count() { printf("%d", 1); } virtual void Count(int i) { printf("%d", i + 1); } }; class ParentMother : virtual public Grand{ public: virtual void Count() { printf("%d", 2); } virtual void Count(int i) { printf("%d", i + 2); } }; class Child : public ParentFather, public ParentMother { void Count() { printf("%d", 3); } void Count(int i) { printf("%d", i + 3); } }; int main() { ParentFather *grand = new Child; ParentMother *mother = dynamic_cast<ParentMother*>(grand); mother->Count(25.9); return 0; }
virtual
Что выведет в консоль следующий код: #include <iostream> using namespace std; class A{ public: int foo(){ return 1; } }; class B: public A{ public: virtual int foo(){ return 2; } }; class C: public B{ public: int foo(){ return 3; } }; int main() { A* obj = new C; cout << obj->foo(); cout << ((B*)obj)->foo(); cout << ((C*)obj)->foo(); return 0; }
virtual
Что напечатает следующий код: #include <iostream> using namespace std; class B { public: virtual void msg () { cout << "classB"; } }; class D : public B { public: virtual void msg() { cout << "classD"; } }; int main() { B * var = new D; var->msg(); // .... return 0; }
virtual
Какой метод будет вызван? class A { public: virtual int function () { return 1; } int get() { return this->function(); } }; class B: public A { public: int function() { return 2; } }; #include <iostream> int main() { B b; std::cout << b.get() << std::endl; return 0; }
virtual
Что будет выведено в консоль при попытке выполнить следующую программу: #include <iostream> using namespace std; class A { int j; public: A(int i) : j(i) { } void print() { cout << sizeof(j) << endl; } }; class B : virtual public A { public: B(int i) : A(i) { } }; class C : public B { public: C(int i) : B(i) { } }; int main(int argn, char * argv[]) { C c(1); c.print(); return 0; }
virtual
Допустимо ли определение чисто виртуального метода следующим образом: class Abstract { public: virtual void pureVirtual() = 0 { // реализация } };
virtual
Что будет выведено на экран? #include<iostream> class Base { public: virtual void f() { std::cout << "Base"; } }; class Child : public Base { public: int f() { std::cout << "Child"; } }; int main() { Child c; c.f(); }
virtual
Что напечатает следующий код: #include "stdio.h" class Super1 { public: virtual void Count() { printf("%d", 1); } }; class Super2 { public: virtual void Count() { printf("%d", 2); } }; class Child : public Super1, public Super2 { public: void Count() { printf("%d", 3); } }; int main() { Super1 * obj = new Child; obj->Count(); return 0; }
virtual
← Попередня
2
3
4
5
6
Наступна →
Зареєструйся Зараз
або
Підпишись на майбутні тести