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