quot;C++模板类与派生类:从基础到高级实践quot;

张开发
2026/4/11 11:33:28 15 分钟阅读

分享文章

quot;C++模板类与派生类:从基础到高级实践quot;
C类模板派生普通类和模板类//模板类 类型参数化//类模板的定义//类模板的使用//类模板做函数参数//模板类#includeiostreamusingnamespacestd;templatetypenameTclassA{public:A(T a0){this-aa;}voidprintA(){coutaaendl;}protected:T a;};//从模板类派生普通类//模板类派生时需要具体化模板类C编译器需要知道父类的数据类型具体是什么样子的//即 要知道父类所占内存大小是多少只有数据类型固定下来才知道如何分配内存classB:publicAint{public:B(inta10,intb20):Aint(a){this-bb;}voidprintB(){couta:,b:bendl;}private:intb;};//从模板类派生模板类templatetypenameTclassC:publicAT{public:C(T c,T a):AT(a){this-cc;}voidprintC(){coutc:cendl;}private:T c;};//类模板做函数参数voidUseA(Ainta){a.printA();}intmain(){//模板类本身就是类型化的 具体的类定义具体的变量Ainta1(10),a2(20),a3(30);//模板类是抽象的-需要给定具体的类型a1.printA();UseA(a2);UseA(a3);Bb(1,2);b.printB();Cdoublec(3.0,4.0);c.printA();c.printC();system(pause);return0;}

更多文章