在C++中,何时使用struct而不是class
在C++中,何时使用struct而不是class
该问题已经在此处有答案:
可能是重复问题:
何时,如果有的话,应该在编写使用C++的程序时使用STRUCT声明而不是CLASS声明?
- 从不!!?
- 任何事情……无论哪种方式让人感觉更好?
admin 更改状态以发布 2023年5月20日
除了默认的访问级别外,struct
和class
是完全等效的。
我发现差异主要在于程序员的心智 - 按照传统规定,我们通常使用struct
来组合小的对象,没有复杂的功能 - 例如,只有3个成员-坐标的Point
。POD类型。
另一方面,我们通常使用class
来包含相对较大的对象,具有复杂的功能和相当大的接口。
例如:
struct Point { int x,y,z; }; class Shape{ std::vectorcorners; public: Shape(const std::vector corners); double getVolume(); double getArea(); bool isConvex(); //etc. };