#include<iostream> usingnamespacestd; class Base { public: }; class A { public: // User defined constructor A() { cout << "A Constructor" << endl; } // uninitialized int size; }; class B : public A { // compiler defines default constructor of B, and // inserts stub to call A constructor // compiler won't initialize any data of A }; class C : public A { public: C() { // User defined default constructor of C // Compiler inserts stub to call A's construtor cout << "B Constructor" << endl; // compiler won't initialize any data of A } }; class D { public: D() { // User defined default constructor of D // a - constructor to be called, compiler inserts // stub to call A constructor cout << "D Constructor" << endl; // compiler won't initialize any data of 'a' } private: A a; }; int() { Base base; B b; C c; D d; return0; }
output:
1 2 3 4 5
A Constructor A Constructor B Constructor A Constructor D Constructor
近期评论