博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第七章 7.3.2节练习
阅读量:2419 次
发布时间:2019-05-10

本文共 558 字,大约阅读时间需要 1 分钟。

练习7.27

给你自己的Screen类添加move、set和display函数,通过指向下面的代码检验你的类是否正确。

Screen myScreen(5, 5, 'X');

myScreen.move(4.0).set('#').display(cout);

cout << "\n";

myScreen.display(cout);

cout << "\n";

解答:

这里使用随书待的Screen,会发现两次的结果是一样的。

练习7.28

如果move、set和display函数的额返回值不是Screen&而是Screen,则在上一个练习中将会发生什么情况?

解答:

第一个显示语句不会刷新Screen显示

第二个显示语句会刷新Screen显示(和上一题一样)

练习7.19

练习7.30

通过this指针使用成员的做法虽然合法,但是有点多余。讨论显式使用指针访问成员的优缺点。

解答:

一般使用到this,都是类的成员函数(非友元函数),可以对类中的成员随意访问。

(引用百度知道)

其实使不使用this对编译器来说没什么影响,主要是程序员在维护代码上的代价。

优点是你通过this可以很容易通过IDE的智能感知功能来定位类的成员,
缺点是你应该为此程序的所有成员的引用都用this来是代码看起来一致。

转载地址:http://xwqlb.baihongyu.com/

你可能感兴趣的文章
Redis的底层数据结构(6种)
查看>>
Redis的五大数据类型实现原理
查看>>
maven依赖jar包时版本冲突的解决
查看>>
LC 446. 等差数列划分 II - 子序列
查看>>
LC 53. 最大子序和(DP)+ LC 152. 乘积最大子序列 + LC 238. 除自身以外数组的乘积
查看>>
198. 打家劫舍 DP
查看>>
628. 三个数的最大乘积
查看>>
正向代理和反向代理
查看>>
不同的类加载器加载的类不是同一个类
查看>>
Java 序列化和反序列化
查看>>
怎么让笔记本变路由器,亲身试验可用,不用下第三方软件
查看>>
DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016 解决方案
查看>>
java.util.ConcurrentModificationException
查看>>
linux 通过crt直接上传和下载文件和文件
查看>>
javabase64编码原理和解码,加密案例
查看>>
Java 位运算(移位、位与、或、异或、非) 以及负数的二进制相互计算
查看>>
MyBatis 二级缓存机制
查看>>
第一章,安装Vmware和Ubuntu
查看>>
jquery freemarker模板设置变量每次循环加1
查看>>
VMware虚拟机启动后出现黑屏,不能显示界面,无论安装的是ubuntu还是centos
查看>>