如何在c ++中从derive类调用基类方法?

use*_*869 0 c++

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

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

sub() : super(){}
Run Code Online (Sandbox Code Playgroud)


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

恩.

public sub(){
super.someMethod(); 
Run Code Online (Sandbox Code Playgroud)

}

Mik*_*ley 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();
};
Run Code Online (Sandbox Code Playgroud)

要调用方法的基类版本,请执行以下操作BaseClassName::MethodName:

void B::Foo()
{
    std::cout << "B's foo" << std::endl;
    A::Foo();
}
Run Code Online (Sandbox Code Playgroud)