目录
1. 默认访问权限
2. 面向对象特性
3. 继承和多态
4. 访问控制
5. 使用习惯
6. 默认继承权限
1. 默认访问权限
- C 语言:在 C 中,
struct中的所有成员默认是public(可直接访问)。 - C++ 语言:在 C++ 中,
struct中的成员默认是public,但它也可以包含函数(包括构造函数和析构函数)。
2. 面向对象特性
- C 语言:
struct仅用于组织数据,不能包含成员函数。 - C++ 语言:
struct可以包含成员函数(包括构造函数、析构函数、拷贝构造函数和赋值运算符),类似于class。
3. 继承和多态
- C 语言:不支持继承和多态,
struct只是简单的数据集合。 - C++ 语言:
struct支持继承和多态,因此可以被用作基类或派生类。
4. 访问控制
- C 语言:
struct只有public访问权限,没有访问控制关键字。 - C++ 语言:
struct和class一样,可以使用public、private、和protected控制成员的访问权限。
5. 使用习惯
- C 语言:在 C 中使用
struct时,需要在声明变量时加上struct关键字。例如:
struct Point {
int x;
int y;
};
struct Point p; // 需要使用 struct 关键字
- C++ 语言:在 C++ 中可以直接使用
struct名字声明变量,而不需要额外的struct关键字。例如:
struct Point {
int x;
int y;
};
Point p; // 不需要 struct 关键字
6. 默认继承权限
- C++ 语言:如果
struct作为基类继承到派生类,默认继承权限是public,而class的默认继承权限是private。



















