在学习类的时候遇到困难了,大家帮忙下吧,谢谢了!

Eveilei 2009-09-19 06:42:52
代码主要部分如下:
class Screen{

public:
Screen& display (std::ostream &os)
{do_dislay(os);return *this;}
const Screen& dispaly(std::ostream &os)
{do_displayer(os);return *this;)
private:
void do_diplay(std::ostream &os) const
{os<<contents;}
}
//部分省略
Screen myScreen(5,3);
const Screen blank(5,3);
myScreen.set('#').display(cout);
blank.dispaly(cout);
问题:
1.Screen& display (std::ostream &os)是什么意思?主要是这个Screen& display ,我看书了,但是我感觉有误解,所以多解释几句,谢谢!
2.return *this 有什么用,返回到谁?我有点糊涂,请解释一下,谢谢!
3.&与*区别是什么,Screen& display与Screen &display有多大区别?
4.我见有的语句是 const void do_diplay(std::ostream &os) const 这个语句是什么意思?

谢谢大家的回答,主要是我怕我误解,耽误以后的学习,我天天抽出时间学习C++ ,虽然自己看,但是还是很愉快的,学习本来就是件愉快的活动!
请大家详细解答下,谢谢!
...全文
125 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnyyang009 2009-09-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wanjingwei 的回复:]
1.Screen& display是指display函数返回Screen类对象的引用
2.*this就是当前的对象
3.查goole指针与引用的区别
4.函数加const表const成员函数,它可以读取数据成员的值,但不能修改它们。且类的const对象只能调用const成员函数

[/Quote]非常赞同
GaKai 2009-09-22
  • 打赏
  • 举报
回复
1 L
cccxd90 2009-09-22
  • 打赏
  • 举报
回复
补充一下,因为形参表后面的const说明do_display函数的另一个形参为const screen.所以只有常对象才能调用该函数。
也是初学,不知道理解的对不对,请高手指正。
cccxd90 2009-09-22
  • 打赏
  • 举报
回复
4.我见有的语句是 const void do_diplay(std::ostream &os) const 这个语句是什么意思?

我理解这种写法只有在类中可以看到,因为类的成员函数隐藏了一个this,就是当前调用函数的对象,实际上do_display函数有两个形参,除了ostream&,另一个应该是当前调用的对象,通过形参表后面的const修饰,说明在函数中不可以改变当前对象的值。语句头的const就好理解了,是修饰返回值的,不过const void不多见。既然没有返回值,加const做什么。
Aeris 2009-09-22
  • 打赏
  • 举报
回复
3.&与*区别是什么,Screen& display与Screen &display有多大区别?

后一个问题,没区别。正如 int *i和int* i,空格位置不同而已。
starcat 2009-09-21
  • 打赏
  • 举报
回复
3.&与*区别是什么,Screen& display与Screen &display有多大区别?

注意在使用的时候,引用&出现在形参,取地址&用在实参……
kouwenlong 2009-09-21
  • 打赏
  • 举报
回复
占个座。
zgjxwl 2009-09-21
  • 打赏
  • 举报
回复
先看基础书吧。。
na2650945 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wanjingwei 的回复:]
1.Screen& display是指display函数返回Screen类对象的引用
2.*this就是当前的对象
3.查goole指针与引用的区别
4.函数加const表const成员函数,它可以读取数据成员的值,但不能修改它们。且类的const对象只能调用const成员函数

[/Quote]
正解。
winingsky 2009-09-19
  • 打赏
  • 举报
回复
LZ可以试着在网上找些更基础的看看。
wanjingwei 2009-09-19
  • 打赏
  • 举报
回复
1.Screen& display是指display函数返回Screen类对象的引用
2.*this就是当前的对象
3.查goole指针与引用的区别
4.函数加const表const成员函数,它可以读取数据成员的值,但不能修改它们。且类的const对象只能调用const成员函数

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧