
带有参数的类模板
templateclass XSparse_Container; template class XSparse_Container { public: T* a; XSparse_Container(T* a) { this->a = a; } }; template class XSparse_Container :XSparse_Container { public: B* b; XSparse_Container(T* a, B* b) :XSparse_Container (a) { this->b = b; } void Print() { cout << this->a->name; cout << this->b->name; } }; class Person { public: Person(string name) { this->name = name; } string name; }; class Student { public: Student(string name) { this->name = name; } string name; }; int main() { XSparse_Container x(new Person("123"), new Student("456")); x.Print(); return 0; }