继承模板类c ++

时间:2013-07-25 18:32:56

标签: c++ templates inheritance

继承和模板的问题我的派生类无法识别x,这是我基类中的成员变量。

 template <class type>
 class one
 {
 public:
 type getX();
 type x;
 };

 template <class type>
 type one<type>::getX()
 {
 return x;
 }



 template <class type>
 class two: public one <type>
 {
 public:
 type getX();
 };

 template <class type>
 type two<type>::getX()
 {
   return x;
 }

2 个答案:

答案 0 :(得分:1)

由于two是模板,并且x不是直接成为2的成员,因此您需要明确依赖项。

一种方式是one<type>::x,另一种方式可以是this->x

答案 1 :(得分:0)

你必须使用&#34; this-&gt;&#34;用于访问模板基类成员&amp;模板父类中的函数。

返回此 - &gt; x;