C++中何时应该使用类而不是结构体?


在 C++ 中,结构体和类非常相似,但有一些区别。以下详细介绍了这些区别,有助于决定何时在 C++ 中使用类或结构体。

类和结构体的区别

默认情况下,类的所有成员都是私有的。这与结构体不同,因为结构体的所有成员默认都是公有的。

演示 C++ 中类的程序如下所示:

示例

#include <iostream>
using namespace std;
class Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   return 0;
}

此程序会产生错误,因为 val 默认是私有的,因此无法使用 obj 直接访问。

演示 C++ 中结构体的程序如下所示:

示例

在线演示

#include <iostream>
using namespace std;
struct Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   cout<<"Value is: "<<obj.val;
   return 0;
}

输出

上述程序的输出如下:

Value is: 20

上述程序运行正确,因为 val 默认是公有的,因此可以使用 obj 直接访问。

类和结构体的另一个区别在继承中很明显。继承类时,基类的访问说明符默认为私有。相比之下,继承结构体时,基结构体的访问说明符默认为公有。

更新于:2020年6月26日

343 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告