Avatar ·

何时在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?是否有某种约定,还是纯粹个人喜好?希望能得到带有示例的详细解答! <<>>

主要区别: