6

クラスがある場合:

class A{
public:
    A();
    void print();
private:
    int value;
};

A::A() {value = 0;}
void A::print() {cout << value << endl;}

最後の2行の::記号の完全な名前は何ですか?

4

3 に答える 3

15

::最後の2行の記号の完全な名前は何ですか?

それは「スコープ解決演算子」です。

誰かが答えを知っていますか?

はい。

これはあなたが今までに尋ねられた中で最も奇妙な質問ですか?

いいえ。

于 2012-06-07T23:06:00.227 に答える
13

これは、スコープ解決演算子と呼ばれます。

于 2012-06-07T23:06:33.770 に答える
7

これは、スコープ解決演算子と呼ばれます。


代わりに 何を書くことができるか知りたい::ですか?まあ、常に機能する代替手段はありません。あなたの例では、クラスの本体でこれらのメンバー関数を定義するだけで済みます。これは、クラスを定義するインラインスタイルになります。

class A{
  int value;
 public:
  A() {
    value = 0;
  }
  void print() {
    cout << value << endl;
  }
};

そうすれば、明らかに定義を別のファイルに入れる方法がないので、それらを別々にコンパイルすることはできません。

また、がではなく::を解決するために使用される場合は、その名前空間を再度開くか、スコープにプルすることで置き換えることができます。namespaceclassusing namespace

于 2012-06-07T23:05:19.057 に答える