プロが教える店舗&オフィスのセキュリティ対策術

オーバーライドされた演算子は継承されますか?
今やろうとしていることは、変換演算子を継承しようとしています。
試してみたところ警告もなく出来ましたが、この動作は規格上正しいのでしょうか?

#include <iostream>

class base
{
public:
operator bool() { return true; }
};

class derived : public base
{
};

int main()
{
derived d;
if(d) { std::cout << "true"; }
}

A 回答 (2件)

オーバーライドされたものが継承されるのは当然でしょう。


オーバーロードすると全ての継承を隠しますが。
    • good
    • 0

おお, 規格にシンプルな 1文が....


Conversion functions are inherited.
だって.
    • good
    • 0
この回答へのお礼

ありがとうございます。
12. 3. 2. 5 で規定されてるんですね。
安心して使います。

お礼日時:2009/04/24 16:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!