类和结构 (仅限 C + +)

C++ 类是 C 语言结构的扩展。 由于结构与类之间的唯一区别在于,缺省情况下,结构成员具有公共访问权,而缺省情况下,类成员具有专用访问权,因此您可以使用关键字 classstruct 来定义等效类。

例如,在以下代码片段中,类 X 等同于结构 Y:

class X {

  // private by default
  int a;

public:

  // public member function
  int f() { return a = 5; };
};

struct Y {

  // public by default
  int f() { return a = 5; };

private:

  // private data member
  int a;
};

如果定义结构,然后使用关键字 class声明该结构的对象,那么缺省情况下该对象的成员仍为公共成员。 在以下示例中,即使已使用使用类键 class的详细类型说明符声明了 obj_Xmain() 也可以访问 obj_X 的成员:

#include <iostream>
using namespace std;

struct X {
 int a;
 int b;
};

class X obj_X;

int main() {
  obj_X.a = 0;
  obj_X.b = 1;
  cout << "Here are a and b: " << obj_X.a << " " << obj_X.b << endl;
}
以下是以上示例的输出:
Here are a and b: 0 1
相关信息