0

これらの種類の中かっこを使用する場合、C++ で使用する場合:

if (x == y)
{ <---
} <---

これらを使用するクラスを作成することは可能ですか? これに似た場所:

class x
{
    operator {} foo(int something)
    {
        do something...
    }
};

PS。これらの大かっこが何と呼ばれているのかわかりませんが、中かっこですか?

ありがとうございました

4

4 に答える 4

5

中括弧は、実際にはさまざまなことに使用されます。

  • 複合ステートメント
  • 初期化子
  • 構造体/列挙型/クラス/共用体/名前空間指定子

(おそらく他にもいくつかあります!)

これらはいずれも演算子ではなく、オーバーロードできません。

興味があるかもしれないのは、特定の構文が必要な場合に使用できる C++11 のブレース初期化構文です。

class x
{
    x(int something)
    {
        do something...
    }
};

x foo{5};
于 2012-11-03T15:52:44.813 に答える
4

いいえ、中かっこは演算子ではなく、新しい演算子を作成できないため、既存のものをオーバーロードすることしかできません。

于 2012-11-03T15:46:53.337 に答える
2

うん、それらは中括弧または中括弧または中括弧と呼ばれます。これらは、ブロックまたはイニシャライザ値のグループを示します。それらの意味を再定義することはできません。

于 2012-11-03T15:47:08.360 に答える
1

(私に関する限り、それらは中括弧または中括弧と呼ばれます。)

そして、彼らはオペレーターではありません。

あなたが提供した例でif ()は、スコープの境界を定義しています。または、オブジェクト指向に関しては、名前空間を定義します。またはクラス。

そして、それらを過負荷にすることはできないと思います(それは本当に意味がありません。)

于 2012-11-03T15:47:18.853 に答える