• ベストアンサー

オーバーライドされた演算子の継承

オーバーライドされた演算子は継承されますか? 今やろうとしていることは、変換演算子を継承しようとしています。 試してみたところ警告もなく出来ましたが、この動作は規格上正しいのでしょうか? #include <iostream> class base { public: operator bool() { return true; } }; class derived : public base { }; int main() { derived d; if(d) { std::cout << "true"; } }

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

おお, 規格にシンプルな 1文が.... Conversion functions are inherited. だって.

kouichi_jp
質問者

お礼

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

その他の回答 (1)

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

オーバーライドされたものが継承されるのは当然でしょう。 オーバーロードすると全ての継承を隠しますが。

関連するQ&A