0

可能重复:
有没有办法调用被覆盖的对象的基类方法?(C++)

第一个问题是在 java 中调用 super() 构造函数,就像在 c++ 中首先初始化超类构造函数一样。

sub() : super(){}


有没有办法像在java中一样在c ++中调用超类方法

前任。

public sub(){
super.someMethod(); 

}

4

1 回答 1

6

要调用类的基本构造函数,您可以将其称为BaseClassName(args). 例如:

class A
{
public:
    A() { }
    virtual void Foo() { std::cout << "A's foo" << std::endl; }
};

class B : public A
{
public:
    B() : A() { }
    void Foo();
};

要调用方法的基类版本,您可以BaseClassName::MethodName

void B::Foo()
{
    std::cout << "B's foo" << std::endl;
    A::Foo();
}
于 2012-04-22T00:05:20.927 回答