c++中的结构体vs类
在c++中,结构体与类的工作方式相同,除了两个小的差异。其中最重要的是隐藏实现细节。默认情况下,结构体不会对代码中使用它的人隐藏其实现细节,而类默认情况下隐藏其所有实现细节,因此默认情况下将阻止程序员访问它们。下表总结了所有的基本差异。
类 | 结构体 |
---|---|
默认情况下,类的成员是private的。 | 默认情况下,结构体的成员是public的。 |
默认情况下,类的成员类/结构是private的。 | 默认情况下,结构体的成员类/结构体是public的。 |
它是用class关键字声明的。 | 它是使用struct关键字声明的。 |
它通常用于数据抽象和进一步继承。 | 它通常用于数据分组 |
下面举几个例子来说明这些差异:
默认情况下,类的成员是private的,结构体的成员是public的
例如,程序1编译失败,但程序2运行良好,
程序1:
输出:
程序2:
输出
类使用class关键字声明,结构体使用struct关键字声明
语法:
语法:
类和结构体都可以继承
例如,程序3和4工作得很好。
程序3:
输出
程序4:
输出