// temp3.cpp #include #include class Y { public: Y() : _anInt(0) { std::cout << "\n Y()"; } Y(int i) : _anInt(i) { std::cout << "\n Y(int i)"; } Y(const Y& y) : _anInt(y._anInt) { std::cout << "\n Y(const Y& y)"; } int& value() { return _anInt; } private: int _anInt; }; class X : public Y { public: X() : Y(0) { std::cout << "\n X()"; } X(int i) : Y(i) { std::cout << "\n X(int i)"; } X(const X& x) : Y(x) { std::cout << "\n X(const X& x)"; } }; int main() { X x1(1); Y y[3] = { x1, Y() }; std::cout << "\n\n"; return 0; }