(1).定义一boat与car两个类,两者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。 C++提交的答案将被附加下面的main函数,提交时请不要包含main函数。 int main() { car c1(1000); boat b1(2000); cout<<totalweight(b1,c1)<<endl; } 输入 无 输出 3000 样例输入 复制 no input 样例输出 复制 3000
时间: 2024-01-29 14:04:36 浏览: 23
好的,以下是您所需的代码实现:
```
#include <iostream>
using namespace std;
class car;
class boat {
private:
int weight;
public:
boat(int w) { // 构造函数
weight = w;
}
friend int totalweight(boat b, car c); // 友元函数声明
};
class car {
private:
int weight;
public:
car(int w) { // 构造函数
weight = w;
}
friend int totalweight(boat b, car c); // 友元函数声明
};
int totalweight(boat b, car c) { // 友元函数定义
return b.weight + c.weight;
}
int main() {
car c1(1000);
boat b1(2000);
cout << totalweight(b1, c1) << endl;
return 0;
}
```
在这个程序中,我们定义了两个类 `car` 和 `boat`,它们都有一个表示重量的数据成员 `weight`。我们为这两个类定义了一个名为 `totalweight` 的友元函数,它可以访问 `car` 和 `boat` 类的私有成员。在主程序中,我们定义了一个 `car` 对象和一个 `boat` 对象,并将其作为参数传递给 `totalweight` 函数,计算出二者的重量和并输出。