1. 程式人生 > >C/C++學習(三)模板類之間繼承

C/C++學習(三)模板類之間繼承

#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;
}