C++ 模板类的继承

  • 模板类:template <typename T> 说白了就是向之后的内容传递参数类型,把T当作一个数据类型传递,而在声明一个变量的时候,通过base <xxxx> pp; xxx就是传入后面类的数据类型。
// 1.普通template类
template <typename T1> class base
{
public:
    T1 a;
};
// 普通类
class base00
{
public:
    int e;
};

// 2.Base和Derived类都为template类:derive类可不用typename T
template <typename T>
class derive:public base<T> //  当base作为一个模板类,需要向base传入参数类型,写法就是base<T>,而这个T又是由derive类传入的T作为参数
{
public:
    T b;
};
 
// 3.Base类为特定的template类
class derive2:public base<int> //  当base作为一个模板类,向base传入类型int 
{
public:
    int c;
};

// 4.Derived类为template类
template <typename T>
class derive3 :public base00
{
public:
    T d;
};

int main() {
    derive<float> pp;
    pp.a = 10.f;
    pp.b = 100.0f;
    std::cout << "===" << pp.a << "==="<< pp.b<< std::endl;

    derive2 tmp;
    tmp.c = 99;
    tmp.a = 999;
    std::cout << "===" << tmp.a << "===" << tmp.c << std::endl;

    derive3<int> ttt;
    ttt.d = 20;
    ttt.e = 200;
    std::cout << "===" << ttt.d << "===" << ttt.e << std::endl;

    system("pause");
    return 0;
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值