【C/C++】友元函数-定义Boat和Car类的友元函数

题目描述:

定义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类还未声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值