0

とのint Aとの範囲を説明してください。int Bvoid func()void func1()

class C {
  struct S {
    int A;
  };

  int B

public :
  void func(){
  }
  void func1(){
  }
};
4

1 に答える 1

1

あなたが求めていることを完全に理解しているかどうかはわかりませんが、理解できれば答えようとします.

関数func()func1()は のメンバー関数でCあるため、ここではまったく同じ名前に対して同一のアクセス権を持っています。Bのメンバー変数であるVariableは、名前空間で修飾することなくC直接参照できます。func()func1()

A一方、変数は の public の非静的メンバー変数であり、次のように、アクセスする前にSまず型のオブジェクトをインスタンス化する必要があります。S

void func()
{
    S s;
    B = 0; // Directly accessible, member variable of `C`
    s.A = B; // A is a non-static member variable of `S`, requires an object
    A == 3; // ERROR! A is not a member variable of C
}
于 2013-02-09T12:58:16.047 に答える