c++模版实例化继承
2016-01-24 21:26
393 查看
<pre name="code" class="cpp">#include <iostream> using namespace std; template<typename T> class Object { public: void f(T t = 0){ cout << t << endl; } virtual ~Object(){ cout << "Object released" << endl; } }; class Sub:public Object<int> { public: ~Sub(){ cout << "Sub released" << endl; } }; class SubSub:public Sub { public: ~SubSub(){ cout << "SubSub released" << endl; } }; template<> class Object<double> { public: void f(double t){ cout << t << endl; } }; /* class Object{ public: void f(int t){ cout << t << endl; } }; */ int main(int argc, char *argv[]) { SubSub s; s.f(100); Object<double> o; o.f(99.9); return 0; }
100 99.9 SubSub released Sub released Object released
相关文章推荐
- C++迭代器中删除元素
- 我的第一个c++程序哈哈哈
- 关于结构体的详细讲解,C、C++中的区别
- c++primer笔记--chapter one
- FJ问题
- C/C++编码规范
- 2n皇后问题
- C#与C/C++的交互
- 【C++】函数的重载
- 《C语言及程序设计初步》第40讲实践项目
- c语言变量类型联想
- c++之类型1
- C++11新特性应用--介绍几个新增的便利算法(关于最大值和最小值的算法)
- c++ study diary4
- C++11新特性应用--介绍几个新增的便利算法(关于最大值和最小值的算法)
- C++学习笔记46——友元与继承
- C++学习笔记(三) 域运算符 new delete运算符 重载 name managling与extern"c" 带默认参数函数
- 在C语言中通过分叉进程监控程序被卸载&调用浏览器跳转填写建议
- 在C语言中调用Java方法获取方法签名
- C++11 浅谈 右值引用和move语义