4

重複の可能性:
C ++で基本クラスのコンストラクターと代入演算子を使用するにはどうすればよいですか?

class A
{
protected:
    void f();
}

class B : public A
{
protected:
    void f()
    {
         A::f();
    }
}

このように親クラスの関数を使うことはできますが、親クラスの演算子の使い方がわかりません。

4

1 に答える 1

6

ユーザー定義型の演算子は、ファンキーな名前を持つ単なるメンバー関数です。したがって、それはあなたの例とかなり似ています:

#include <iostream>

class A
{
protected:
    A& operator++() { std::cout << "++A\n"; return *this; }
};

class B : public A
{
public:
    B& operator++()
    {
        A::operator++();
        return *this;
    }
};


int main()
{
    B b;
    ++b;
}
于 2012-04-09T10:24:04.163 に答える