class dupa{ public: int a1; public: dupa() :a1(2) { cout << "constructor A()\n"; } dupa(const dupa &a) : a1(a.a1) { cout << "construtor const dupa &a\n"; } void out() { cout << "arguments:" << a1; } }; class dupab : public dupa { public: dupab() { a1 += 3; cout << "construtor B()\n"; } dupab(const dupab &b) { this->a1 += b.a1; cout << "construtor const dupa &b\n"; } }; void g(dupab b) { cout << b.a1; } int main() { dupab b; b.out(); g(b); return 0; }