定义Boat与Car两个类,二者都有weight属性,定义二者的一个友元函数getTotalWeight(),计算二者的重量和。
时间: 2024-05-05 17:18:02 浏览: 11
好的,我理解了你的问题。以下是定义Boat和Car两个类,并声明一个友元函数getTotalWeight()的示例C++代码:
```c++
class Boat; // 前置声明
class Car {
private:
int weight; // 车重
public:
Car(int weight) {
this->weight = weight;
}
friend int getTotalWeight(Car& car, Boat& boat); // 声明友元函数
};
class Boat {
private:
int weight; // 载重
public:
Boat(int weight) {
this->weight = weight;
}
friend int getTotalWeight(Car& car, Boat& boat); // 声明友元函数
};
int getTotalWeight(Car& car, Boat& boat) {
return car.weight + boat.weight; // 计算总重量
}
```
在这个示例代码中,定义了Car和Boat两个类,二者都有一个weight属性。同时,定义了一个友元函数getTotalWeight(),用于计算二者的总重量。这个友元函数声明在两个类之中,可以直接访问这两个类的私有成员变量。最后,友元函数中计算二者的总重量,作为函数的返回值。