1 // { dg-do assemble } 2 // GROUPS passed templates 3 template <class T> 4 class Temp_Base 5 {}; 6 7 template <class T> 8 class Temp_Derived 9 : public Temp_Base<T> 10 { 11 public: 12 Temp_Derived (int i = 10) {} 13 }; 14 15 16 class Base 17 { 18 float r_; 19 public: Base(float r)20 Base (float r) : r_(r) {} 21 }; 22 23 class Derived 24 : public Base 25 { 26 private: 27 Temp_Base<int>* boo_; 28 public: 29 Derived (float); 30 }; 31 32 Derived:: Derived(float form)33Derived (float form) 34 : Base(form), 35 boo_(new Temp_Derived<int>) 36 {} 37