类模板的继承(转)
2016-07-26 11:04
330 查看
转自:ForYourFace的专栏
模板类的继承包括四种:
1.(普通类继承模板类)
2.(模板类继承了普通类(非常常见))
3.(类模板继承类模板)
4.(模板类继承类模板,即继承模板参数给出的基类)
模板类的继承包括四种:
1.(普通类继承模板类)
template<class T> class TBase{ T data; …… }; class Derived:public TBase<int>{ …… };
2.(模板类继承了普通类(非常常见))
class TBase{ …… }; template<class T> class TDerived:public TBase{ T data; …… };
3.(类模板继承类模板)
template<class T> class TBase{ T data1; …… }; template<class T1,class T2> class TDerived:public TBase<T1>{ T2 data2; …… };
4.(模板类继承类模板,即继承模板参数给出的基类)
#include<iostream> using namespace std; class BaseA{ public: BaseA(){cout<<"BaseA founed"<<endl;} }; class BaseB{ public: BaseB(){cout<<"BaseB founed"<<endl;} }; template<typename T, int rows> class BaseC{ private: T data; public: BaseC():data(rows){ cout<<"BaseC founed "<< data << endl;} }; template<class T> class Derived:public T{ public: Derived():T(){cout<<"Derived founed"<<endl;} }; void main() { Derived<BaseA> x;// BaseA作为基类 Derived<BaseB> y;// BaseB作为基类 Derived<BaseC<int, 3> > z; // BaseC<int,3>作为基类 }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- PostgreSQL教程(三):表的继承和分区表详解
- Lua中调用C++函数示例
- Lua面向对象之类和继承浅析
- Lua教程(一):在C++中嵌入Lua脚本
- 浅析Ruby中继承和消息的相关知识
- Lua教程(二):C++和Lua相互传递数据示例
- 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略者模式)
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法