Тести
Мова сайту: Українська
Українська
English
Русский
Тести з програмування
Вхід
Реєстрація
Тести з програмування
Теорія
Сніпети
Статті
Головна
Android
Ціни
FAQ
Історія Cosmo
Правила та умови сервісу
Політика конфіденційності
Політика щодо файлів cookie
Зворотній Зв’язок
constructors
:
Мова контенту: Русский
English
Какие строки при компиляции вызовут ошибки? #include <iostream> #include <string> using namespace std; int main() { string s1; s1 = "dasda"; //1 cout << s1 << endl; //2 cout << s1[2] << endl; //3 s1 = 'a'; //4 s1 = &s1; //5 return 0; }
constructors
При данной иерархии классов, что будет напечатано в консоли в результате выполнения следующего кода? #include <iostream> using namespace std; class A { int m_i; public: A(int i) : m_i(i) { } void print() { cout << sizeof(m_i) << endl; } }; class B : virtual public A { public: B(int i) : A(i) { } }; class C : public B { public: C(int i) : B(i) { } }; int main() { C c(1); c.print(); return 0; }
constructors
Что будет напечатано в результате работы программы ? #include <iostream> class A { private: virtual void VirtualMethod() { std::cout << "A::VirtualMethod()"; } public: A() { VirtualMethod(); } }; class B : public A { private: virtual void VirtualMethod() { std::cout << "B::VirtualMethod()"; } }; void main() { A* a = new B(); delete a; }
constructors
Что произойдет в результате вызова функции с параметрами через запятую? #include <iostream> class A { public: int field; A(void) : field(1) {} A(int) : field(0) {} }; void func(A value) { std::cout << value.field; } void * fvoid() { return 0; } int main(int argc, char * argv[]) { func(( fvoid() , 5 )); }
constructors
Скомпилируется ли следующий код, в котором объект уничтожает сам себя? class c { public: c() { } ~c() { } void f(c* p){ delete p; } }; int main() { c* p = new c; p->f(p); return 0; }
constructors
Как порядок вызова конструкторов и деструкторов повлияет на результат и что выведется на экран? #include <iostream> using namespace std; struct A { A() { cout << "A"; } ~A() { cout << "~A"; } virtual void operator()() = 0; }; struct B : A { B() { cout << "B"; } ~B() { cout << "~B"; } void operator()() { cout << "B"; } }; int main(void) { B b; A &a = b; a(); b(); return 0; }
constructors
Какие методы компилятор может автоматически сгенерировать для данного класса?class A { };
constructors
Имея два конструктора, один из которых отмечен как explicit, что будет выведено в результате выполнения следующего кода? #include <iostream> using namespace std; class Clazz { public: explicit Clazz(int) { cout << 'A'; } Clazz(char) { cout << 'B'; } }; int main() { Clazz x(10); Clazz y = 10.; return 0; }
constructors
Имея следующую иерархию классов, что будет выведено на экран при выполнении следующего кода? #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; }
constructors
По каким причинам может не скомпилироваться следующая строка: new myObj[100];
constructors
← Попередня
1
2
3
4
5
Наступна →
Зареєструйся Зараз
або
Підпишись на майбутні тести