函数题:万有引力 - C/C++ 操作符重载
Particle类型用于表示处于三维空间中的质点,其包括如下成员:① 三个浮点数成员x、y和z表示质点在三维空间中的坐标;② 浮点数成员mass表示质点的质量;③ 接受空间坐标和质量参数的构造函数;④ 自定义operator-()操作符函数用于计算两个质点间的万有引力,即表达式p1 – p2调用执行p1的operator-()操作符函数,计算质点p1和p2间的万有引力。
万有引用公式F = GMm/r²中,万有引力常数G = 6.67×10-11N·m²/kg²。
请依据上述描述,设计Particle类,使得下述代码能正常执行。
注意:天文数字都很大,建议浮点数全部采用long double类型。
### 裁判测试程序样例:
c++
#include <iostream>
#include <cmath>
using namespace std;
//在此处定义Particle类及其重载operator+()操作符函数
int main()
{
long double x, y, z, mass;
cin >> x >> y >> z >> mass;
Particle p1(x,y,z,mass);
cin >> x >> y >> z >> mass;
const Particle p2(x,y,z,mass);
long double force = p1 - p2;
printf("Gravity between two objects = %.1Lf N",force);
return 0;
}
### 输入样例:
in
0 0 0 5.965e15
0 0 38400000 7.342e14
### 输出样例:
out
Gravity between two objects = 198101.7 N
说明:输入输出中的所有数据均为标准单位,坐标为米,质量为kg。
请注意:函数题只需要提交相关代码片段,不要提交完整程序。
### 感觉不会? 那试着听听**免费的B站网课**
[简洁的C和C++ - 重庆大学在线课程](https://www.bilibili.com/video/BV1it411d7zx/)
[Python编程基础及应用 - 重庆大学在线课程](https://www.bilibili.com/video/BV1kt411R7uW/)

答案:若无答案欢迎评论
万有引用公式F = GMm/r²中,万有引力常数G = 6.67×10-11N·m²/kg²。
请依据上述描述,设计Particle类,使得下述代码能正常执行。
注意:天文数字都很大,建议浮点数全部采用long double类型。
### 裁判测试程序样例:
c++
#include <iostream>
#include <cmath>
using namespace std;
//在此处定义Particle类及其重载operator+()操作符函数
int main()
{
long double x, y, z, mass;
cin >> x >> y >> z >> mass;
Particle p1(x,y,z,mass);
cin >> x >> y >> z >> mass;
const Particle p2(x,y,z,mass);
long double force = p1 - p2;
printf("Gravity between two objects = %.1Lf N",force);
return 0;
}
### 输入样例:
in
0 0 0 5.965e15
0 0 38400000 7.342e14
### 输出样例:
out
Gravity between two objects = 198101.7 N
说明:输入输出中的所有数据均为标准单位,坐标为米,质量为kg。
请注意:函数题只需要提交相关代码片段,不要提交完整程序。
### 感觉不会? 那试着听听**免费的B站网课**
[简洁的C和C++ - 重庆大学在线课程](https://www.bilibili.com/video/BV1it411d7zx/)
[Python编程基础及应用 - 重庆大学在线课程](https://www.bilibili.com/video/BV1kt411R7uW/)

答案:若无答案欢迎评论