可以通过重载运算符或创建访问器来解决该问题。重载运算符可以在类中定义运算符的行为,访问器可以提供对私有成员变量的访问和操作。但是不能直接调用运算符或访问器,需要通过使用对象来调用。
示例代码:
#include
using namespace std;
class Circle {
private:
double radius;
public:
Circle(double r) {
radius = r;
}
double get_radius() const {
return radius;
}
void set_radius(double r) {
radius = r;
}
// 重载运算符
Circle operator+(const Circle& c) {
double r = radius + c.get_radius();
return Circle(r);
}
// 访问器
double area() const {
return 3.14 * radius * radius;
}
};
int main() {
Circle c1(5), c2(3);
Circle c3 = c1 + c2; // 通过对象调用运算符
cout << "c1的面积:" << c1.area() << endl;
cout << "c2的半径:" << c2.get_radius() << endl;
cout << "c3的半径:" << c3.get_radius() << endl;
return 0;
}
上一篇:不能流式传输和上传图像
下一篇:不能org.glassfish.json.JsonObjectBuilderImpl$JsonObjectImpl”强制转换为“javax.json.JsonArray”的问题