1. 默认访问控制
-
struct :结构体中的成员默认是
public
,即外部代码可以直接访问结构体的成员。 -
class :类中的成员默认是
private
,即外部代码不能直接访问类的成员,必须通过公有接口(通常是成员函数)来访问。cppstruct MyStruct { int x; // 默认是 public }; class MyClass { int x; // 默认是 private public: MyClass() : x(10) {} int getX() { return x; } // 需要通过成员函数访问 };
2. 默认继承控制
-
struct :结构体的继承默认是
public
,即基类的成员默认以公有方式继承给派生类。 -
class :类的继承默认是
private
,即基类的成员默认以私有方式继承给派生类。
3. 面向对象特性
- struct:结构体通常用于简单的数据存储,不具备类中的丰富的封装、继承和多态等特性。
- class:类是C++中的核心面向对象特性,支持封装、继承和多态等特性。
总结
![](https://i-blog.csdnimg.cn/direct/da9a1c73a5bd4deeb09d303a9f28f562.png)