我主要是Java和AS3程序员,但现在我在C++中从事某些工作,但偶然发现了一个问题。
我有一个具有私有(private)变量var1的基类(我们称之为ClassA)。在此类中,我有一个方法getVar1()返回指向该变量的指针。
接下来,我还有另一个扩展Base的类(我们称之为ClassB)。如何从父类(super class)调用getVar1()?
在Java中,它就像this.var1 = super.getVar1()一样简单。
我读到它就像var1 = ClassA::getVar1(),但是我不确定这是否适合使用变量(aka指针可以更改)。
谢谢。
最佳答案
可以将其称为ClassA::getVar1()。
但是,如果要使用Java方式,可以将方法设为“虚拟”。这意味着无论何时编写getVar1(),它都不取决于您在其前面编写的Type(因此在编译时),但取决于调用对象时(在运行时)的类型。因此,c++保留了一个内部v表来查找适当的方法。它等效于Java方式,称为后期绑定(bind)。
关于c++ - C++调用父类(super class),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9480784/