在一个平面游戏里,当一个大泡泡与一个小泡泡相遇时,会合并成一个更大的泡泡。新泡泡的圆心为两个泡泡的圆心的中点,新泡泡的面积为两个泡泡的面积之和。 请在下述代码中补充Bubble类的设计,使得下述代码可以正常运行。显然,你需要一个自定义oeprator+操作符函数。 裁判测试程序样例: //Project - EatBubble #include <iostream> #include <cmath> #include <cstdio> using namespace std; //在此处定义Bubb
时间: 2024-02-20 22:02:41 浏览: 460
le类,使得下述代码可以正常运行
```
class Bubble {
public:
Bubble(double x=0,double y=0,double r=0):x(x),y(y),r(r){}
double getX() const {return x;}
double getY() const {return y;}
double getR() const {return r;}
//自定义operator+操作符函数
Bubble operator+(const Bubble& b) const {
double new_x = (x + b.x) / 2;
double new_y = (y + b.y) / 2;
double new_r = sqrt(r * r + b.r * b.r);
return Bubble(new_x,new_y,new_r);
}
private:
double x,y,r;
};
int main() {
double x1,y1,r1,x2,y2,r2;
cin>>x1>>y1>>r1>>x2>>y2>>r2;
Bubble b1(x1,y1,r1),b2(x2,y2,r2);
Bubble b3 = b1 + b2;
printf("%.2f %.2f %.2f",b3.getX(),b3.getY(),b3.getR());
return 0;
}
```
阅读全文