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
destructor
:
Content language: Русский
English
Корректен ли следующий код? class A { public: int* m_a; A(int x) { m_a = new int(x);} ~A() {delete m_a;} }; void f(A a) { cout<<a.m_a; } int main() { A a(1); f(a); }
destructor
Дан следующий код: #include "stdio.h" class my_class { private: my_class() { printf("constructor\n"); } ~my_class() { printf("destructor\n"); } public: void hello() { printf("Hello codegalaxy.io!\n"); } static my_class& get_instance() { static my_class instance; return instance; } }; int main( void ) { // 1 return 0; } Какие из следующих фрагментов при вставке в строку // 1 не вызовут ошибку компиляции?
destructor
Что выведет на консоль следующий программный код? #include <iostream> class Base { public: virtual void Foo() { std::cout << "Base::Foo "; } virtual ~Base() {} }; class Derived: public Base { public: int Foo() { std::cout << "Derived::Foo "; return int();} }; int main() { Base *d = new Derived; d->Foo(); delete d; return 0; }
destructor
Что будет выведено в предложенном коде? #include <iostream> class Locker { public: ~Locker() { throw 2; } }; int main() { try { Locker locker; throw 1; } catch (int a) { std::cout << a; } return 0; }
destructor
Что выведет приложение? #include <iostream> class A { public: A(int n = 2) : m_i(n) { } ~A() { std::cout << m_i; } protected: int m_i; }; class B : public A { public: B(int n) : m_a1(m_i + 1), m_a2(n) { } public: ~B() { std::cout << m_i; --m_i; } private: A m_a1; A m_a2; }; int main() { { B b(5); } std::cout << std::endl; return 0; }
destructor
Что будет выведено в stdout при выполнении этого кода? #include <iostream> using std::cout; int* treble(int); int main(void) { int num = 5; int* ptr = 0; ptr = treble(num); cout << *ptr; return 0; } int* treble(int data) { int a = 0; if (data >= 5) { int b = 3 * data; return &b; } return &a; }
destructor
Что будет в консоли после выполнения программы? #include <iostream> using namespace std; struct A { A() { cout << "A"; } ~A() { cout << "~A"; } A(const A&) { cout << "=A"; } }; int main() { try { A a; throw a; } catch(A &e) { } return 0; }
destructor
Содержит ли этот код ошибки (компиляции, выполнения, или undefined behavior)? struct A { int *i; A() : i(new int(0)) { } ~A() { delete i; } }; int main() { A a; A b = a; return 0; }
destructor
Что будет выведено на консоль в результате выполнения следующего кода? #include <iostream> class A { public: A() { std::cout << "A "; } ~A() { std::cout << "~A "; } }; class B { public: B() { std::cout << "B "; } ~B() { std::cout << "~B "; } }; class C: public A { B m_b; public: C() { std::cout << "C "; } ~C() { std::cout << "~C "; } }; int main() { C c; return 0; }
destructor
Что не верно в следующем коде: class Parent { public: ~Parent() { } virtual void method() { } }; class Child : public Parent { public: Child() { /* захват ресурсов */ } ~Child() { /* освобождение ресурсов */ } void method() { /* программный код */ } }; int main() { Parent * obj = new Child; // программный код delete obj; return 0; }
destructor
← Prev
1
2
3
4
5
Next →
Sign Up Now
or
Subscribe for future quizzes