C++调用超类

Pet*_*scu 1 c++ inheritance

我主要是Java和AS3程序员,但现在我正在用C++工作,我偶然发现了一个问题.我有一个基类(我们称之为ClassA),它有一个私有变量var1.在这个类中,我有一个方法getVar1(),它返回一个指向该变量的指针.

接下来我有另一个扩展Base的类(我们称之为ClassB).如何从超类中调用getVar1()?在java中,它就像this.var1 = super.getVar1()一样简单.

我读到它就像var1 = ClassA :: getVar1(),但我不确定这是否适合使用变量(也就是指针可以改变).

谢谢.

sin*_*ned 6

可以称之为ClassA :: getVar1().

但是,如果你想要java方式,你可以使方法"虚拟".这意味着无论何时编写getVar1(),它都不依赖于您在其前面编写的类型(因此在编译时),但它取决于调用它时对象的类型(在运行时).因此,c ++保留了一个内部v表来查找适当的方法.它等同于java方式,称为后期绑定.