大约2年前,我学会了Walter Savitch的Absolute C ++(第5版)。在本书中声明派生类的方法是
class ChildClass:Public ParentClass{...}
其中父类类似于
class ParentClass
{Public:
double getVariable() const;
...}
本书还说,如果我在声明派生类时不想更改父类的成员函数的定义,我不必在派生类声明中重写它。例如,如果我不想更改double ParentClass::getVariable() const
的定义,它定义ParentClass
的成员变量,我不必在派生类{{的声明中再次明确地将其写下来1}}。
最近,我想制定一个项目,并发现多年来发生了变化。首先,派生类的声明应该看起来像
ChildClass
您不应在class ChildClass:ParentClass{...}
前面插入Public
,否则编译器会抱怨。其次,我无法通过以下代码访问主程序中的函数ParentClass
double ParentClass::getVariable() const
其中childInstance.getVariable()
是childInstance
的实例。
这是我发现的两件事。你能告诉我如何以正确的方式定义派生类吗?谢谢!
顺便说一下,我使用的编译器是Cygwin上的gcc 5.4.0。
答案 0 :(得分:0)
Public
在C ++中并不特别。
你应该写public
。
即使是语法高亮也应该告诉你错误。
见这个例子:
if else for while public
Am Tree Hat House Public
^~~~~~
在您使用正确的关键字后,应该没有更多问题。默认情况下,class
的内容为private
。