继承模板类
继承模板类
yizhangxyz 发表于2年前
继承模板类
  • 发表于 2年前
  • 阅读 10
  • 收藏 1
  • 点赞 2
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

先看如下代码(参看effective 条款43)

template <typename T>
class B{
public:
    T t;
    void show()
    {
    }
    
};

template <typename T>
class D :public B<T>
{
public:
    void show1()
    {
        show();//这里报错
    }
};

上面直接调用show会报错。原因在于D继承B 的时候并不确定B的具体样子,因为B带有一个待定类型T。

只能通过如下方法调用:

1 this->show(); //假设show被继承

2 using A<int>::show; //告诉编译器,请它假设show位于B<int>内

    show();

3 A<int>::show(); //指定A<int>的show

共有 人打赏支持
粉丝 1
博文 57
码字总数 42366
×
yizhangxyz
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: