您的位置:首页 > 编程语言 > C语言/C++

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



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: