地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【C++】外部から基底クラスのメンバ関数呼び出し

派生クラスインスタンスからこの基底クラスのfunc関数を呼び出すには「派生クラスインスタンス.基底クラス::メンバ関数();」という書き方をすることで解決する。

class Base
{
public:
    // do something
    virtual void func();
};
class Derived : public Base
{
public:
    // do something
    void func() override;
};
void Derived::func()
{
    Base::func(); // これは基底クラスのfunc関数呼び出し
}
int main(void)
{
    Derived d;
    d.Base::Func(); // 基底クラスのfunc関数呼び出し
    d.Func(); // 派生クラスのfunc関数呼び出し
}