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 に答える