C++primerplus 习题+答案

本文介绍了如何为C++中的Stonewt类重载乘法运算符,包括使用成员函数和友元函数的方法。同时讨论了成员函数与友元函数的区别,以及哪些运算符不能被重载,如sizeof、.、::。此外,还提到了非成员函数访问类成员的条件,并展示了为Vector类定义转换到double类型长度的函数。
摘要由CSDN通过智能技术生成

第十一章

1.使用成员函数为Stonewt类重载乘法运算符,该运算符将数据成员与double类型的值相乘。注意,用英石和磅表示时,需要进位。也就是说,将10英石8磅乘以2等于21英石2磅。

Stonewt operator*(double mult);

Stonewt Stonewt::operator*(double mult)

{

        return Stonewt(mult * pounds);

}

2.友元函数与成员函数之间的区别是什么?

成员函数是类定义的一部分,通过特定的对象来调用,成员函数可以隐式访问调用对象的成员,而无需使用成员运算符。友元函数不是类的组成部分,因此被称为直接函数调用。友元函数不能隐式的访问类成员,而必须将成员运算符用于作为参数传递的对象。

3.非成员函数必须是友元才能访问类成员吗?

要访问私有成员,他必须是友元,但要访问公有成员,可以不是友元

4.使用友元函数为Stonewt类重载乘法运算符,该运算符将double值与Stone值相乘。

friend Stonewt operator*(double mult, const Stonewt & s);

Stonewt operator*(double mult, const Stonewt & s)

{

        r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未央吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值