【发布时间】:2013-12-17 21:54:01
【问题描述】:
遵守以下程序。
class Base{
protected:
int datum;
};
class D: public Base{
public:
int Get_Datum(){
return datum;
}
};
int main(){}
基类包含一个成员变量。我们已经明确声明成员变量是一个整数。派生类可以从基类继承并访问该成员变量。这会按预期编译和工作。
现在让我们尝试同样的事情,但在编译时推导出数据成员。
template <typename Datum>
class Base{
protected:
Datum datum;
};
template <typename Datum>
class D: public Base<Datum>{
public:
int Get_Datum(){
return datum;
}
};
int main(){}
15:10:错误:“基准”未在此范围内声明
如何编辑它以使其以与第一个示例相同的方式工作?我必须对构造函数做些什么吗?
【问题讨论】:
标签: c++ class templates inheritance c++11