何时在C++中使用class,何时使用struct?规则与最佳实践
大家好!我最近开始学习C++,在class和struct之间选择时感到困惑。在C++中它们几乎相同,但我看到经验丰富的程序员使用它们的方式不同。例如,我为平面上的点写了这样的代码:
```cpp
struct Point {
int x;
int y;
};
class Circle {
private:
int radius;
public:
Circle(int r) : radius(r) {}
int getRadius() { return radius; }
};
```
但后来我看到有人这样做:
```cpp
class Point2 {
public:
int x;
int y;
};
```
这让我困惑——既然所有成员都是public,为什么还要用class?反过来,为什么不用struct来包含private字段和方法?
我听说过一些“经验法则”(rule of thumb),但找不到清晰的解释。我应该在什么时候选择struct,什么时候选择class?是否有某种约定,还是纯粹个人喜好?希望能得到带有示例的详细解答!
<<>>