【问题描述】声明boat与car两个类,两者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。类的信息按需要自行定义。【输入形式】在主程序中输入一个boat对象以及一个car对象的重量 【输出形式】输出两个对象的重量和 【样例输入1】4 5 【样例输出1】9 【样例输入2】5.5 5.5 【样例输出2】11 【评分标准】请一定使用友元函数,掌握相关知识点
时间: 2023-12-02 09:02:54 浏览: 29
好的,根据您的要求,我来给您写一份 C++ 的代码:
```c++
#include <iostream>
using namespace std;
class car; // 声明类 car
class boat { // 声明类 boat
private:
float weight; // 定义 weight 属性为私有
public:
boat(float w): weight(w) {} // 构造函数
friend float totalweight(boat b, car c); // 友元函数声明
};
class car { // 声明类 car
private:
float weight; // 定义 weight 属性为私有
public:
car(float w): weight(w) {} // 构造函数
friend float totalweight(boat b, car c); // 友元函数声明
};
float totalweight(boat b, car c) { // 友元函数定义
return b.weight + c.weight;
}
int main() {
float b_weight, c_weight;
cin >> b_weight >> c_weight; // 输入 boat 对象和 car 对象的重量
boat b(b_weight);
car c(c_weight);
cout << totalweight(b, c) << endl; // 输出二者重量和
return 0;
}
```
注:以上代码中,我们使用了类的友元函数来计算两个对象的重量和。由于 boat 和 car 两个类都有 weight 属性,我们定义了一个 totalweight() 友元函数,它可以访问两个类的私有属性。在主程序中,我们输入了一个 boat 对象和一个 car 对象的重量,然后创建了相应的对象,最后调用 totalweight() 函数来计算二者重量和,并输出结果。