作为起始,这里给出一个用C++模板实现的一个模板函数,该函数将新建一个类并返回其指针。 首先定义三个测试类。 #include <iostream> using namespace std; class test1; class test2; class test3; class test1 { public: test1(){} test1( const test2 &arg ) {} void out(){ cout<<"class test1"<<endl; } }; class test2 { public: void out(){ cout<<"class test2"<<endl; } }; class test3 { public: test3 ( const test2 &arg, const int val ) {} test3(){} void out(){ cout<<"class test3"<<endl; } }; 使用test2来new一个test1并返回test1指针。 VER 1: //=============================================// // ver1: function Create with one arg //=============================================// template < typename test1, typename test2> test1* Create( const test2 &arg ) { return new test1(arg); }; 或者是: VER 2: <