C/C++學習(三)模板類之間繼承
阿新 • • 發佈:2019-01-31
#include <iostream>
#include <string>
using namespace std;
//類模板可以直接繼承類模板,型別必須傳遞
//普通類繼承類模板,需要明確型別例項化類模板
//類模板繼承普通類,常規的操作方式
//類模板當做普通類,需要模板引數對類進行例項化
template<class T>
class myclass
{
public:
T x;
myclass(T t):x(t)
{
}
virtual void print()=0;//定義一個介面
};
template<class T>
class newclass : public myclass<T>//繼承必須明確型別
{
public:
T y;
newclass(T t1, T t2): myclass<T>(t1),y(t2)
{
}
void print()
{
cout << this->x << " " << y << endl;
}
};
int main()
{
// cout << "Hello World!" << endl;
myclass<int> *p = new newclass<int>(10,9);//父類的指標呼叫子類的物件
p->print();
return 0;
}