假设我有一个定义 Circle 对象的简单类:
class Circle {
public:
Circle(const double x): radius(x) { ; }
const double getRadius() const { return radius; }
private:
const double radius;
};
这似乎是一种常见的约定,并遵循数据隐藏的 OO 原则。我的问题是为什么要这样做? 做个radius
公众号不是更简单吗?对于可变成员,这显然是个坏主意,因为任何人都可以修改圆的半径,但由于它是常量,我认为没有必要将其设为私有。做这样的事情是否可以接受?:
class Circle {
public:
Circle(const double x): radius(x) { ; }
const double radius;
};