1*3b44c9afSMichael Buch template<typename T> 2*3b44c9afSMichael Buch class GenericContainer { 3*3b44c9afSMichael Buch private: 4*3b44c9afSMichael Buch T storage; 5*3b44c9afSMichael Buch 6*3b44c9afSMichael Buch public: GenericContainer(T value)7*3b44c9afSMichael Buch GenericContainer(T value) { 8*3b44c9afSMichael Buch storage = value; 9*3b44c9afSMichael Buch }; 10*3b44c9afSMichael Buch }; 11*3b44c9afSMichael Buch 12*3b44c9afSMichael Buch typedef GenericContainer<int> IntContainer; 13*3b44c9afSMichael Buch 14*3b44c9afSMichael Buch struct Foo { 15*3b44c9afSMichael Buch class Bar; 16*3b44c9afSMichael Buch Bar *bar; 17*3b44c9afSMichael Buch }; 18