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 直接访问。
类和结构体的另一个区别在继承中很明显。继承类时,基类的访问说明符默认为私有。相比之下,继承结构体时,基结构体的访问说明符默认为公有。
广告