题目描述:
定义Boat与Car两个类,两者都有私有的整型weight属性,定义两者的一个友元函数getTotalWeight(),计算二者的重量和。
参考主函数:
int main()
{
int n,m;
cin>>n>>m;
Boat boat(n);
Car car(m);
cout<<"船和汽车共重"<<getTotalWeight(boat,car)<<"吨"<<endl;
}
输入描述:
一行,输2个整数m和n(1 ≤ m, n ≤ 10000),分别表示船和小汽车的重量。
输出描述:
输出船和汽车共重多少吨,详见样例。
示例:
输入:
50 20
输出:
船和汽车共重70吨
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
class Boat
{
private:
int weight;
public:
Boat(int n)
{
weight = n;
}
int get_weight()
{
return weight;
}
};
class Car
{
private:
int weight;
public:
Car(int m)
{
weight = m;
}
friend int getTotalWeight(Boat &b, Car &c);
};
int getTotalWeight(Boat &b, Car &c)
{
return b.get_weight() + c.weight;
}
int main()
{
int n, m;
cin >> n >> m;
Boat boat(n);
Car car(m);
cout << "船和汽车共重" << getTotalWeight(boat, car) << "吨" << endl;
return 0;
}
注:此题无法在Boat类中声明getTotalWeight为友元函数,因为在Boat类中Car类还未声明