#include class Test1 { public: Test1(char Zeichen, int Zahl) : _zeichen(Zeichen), _zahl(Zahl) { } void print_me() { for (int i = 0; i < _zahl; ++i) std::cout << _zeichen; std::cout << "\n"; } private: char _zeichen; int _zahl; }; class Test2 { public: Test2(Test1& t1, Test1& t2) : _t1(t1), _t2(t2) { } void do_it() { std::cout << "t1: "; _t1.print_me(); std::cout << "t2: "; _t2.print_me(); } private: Test1& _t1; Test1& _t2; }; int main(void) { Test1 z1('a', 2); Test1 z2('b', 4); Test2 foo(z1, z2); foo.do_it(); }