2016-04-02 8 views
0

このコードはどの演算子でオーバーロードされていますか?これは、()演算子の正しい構文のようには見えません。ここにはどのC++演算子がオーバーロードされていますか?

class Example 
{ 
public: 
    operator bool() const; 
... 
}; 

このように、ブールメンバ変数をシミュレートするために使用されます:

class Container 
{ 
    public: 
    Example ex; 
} 

void func() 
{ 
    Container c; 

    if (c.ex) 
    { 
    ... 
    } 
} 

なお、EXは、あなたが()演算子をオーバーロードから期待括弧なしで使用されています。

答えて

2

これはuser-defined conversionです。
すべての暗黙的および明示的な変換に関与するユーザー定義の変換関数を定義します。

関連する問題