【发布时间】:2011-04-17 12:03:52
【问题描述】:
我是 C++ 的新程序员。我是第一次使用模板。
我有一个抽象类和另一个扩展它的类。但是抽象类的所有受保护成员都不被其他类识别:
class0.h:
template<class T>
class class0 {
protected:
char p;
public:
char getChar();
};
**class1.h**
template<class T>
class class1:public class0<T> {
public:
void printChar();
};
template<class T>
void class1<T>::printChar(){
cout<< p<<endl;//p was not declared in this scope
}
谢谢。祝你度过愉快的一周 =)
【问题讨论】:
-
您的基类要么需要公共虚拟析构函数,要么需要受保护/私有的非虚拟析构函数。
-
顺便说一句,这里面哪个类是抽象的?
标签: c++ templates inheritance