我没有在C++在很长一段时间编程,并且需要一些简单的行为,没有虚拟关键字数量尚未产生:这是C++继承结构吗?
class Base {
public:
int both() { return a(); }
};
class Derived : public Base {
protected:
int a();
};
class Problem : public Derived {
};
Problem* p = new Problem();
p.both();
,给了我一个编译时错误。这种行为可能与c + +?我是否需要前向声明?一切虚拟关键字?
您应该添加编译时错误。 – Tom
'both'需要公开,但'base'中没有'()'... –
你是来自C#还是Java背景?如果你有不妨阅读一些关于C++的基础知识。 C++的功能与C#或Java相比有所不同。 –