搜索
查看: 2328|回复: 15
打印 上一主题 下一主题

重载<<问题(该问题适用于C++)

[复制链接]
楼主
发表于 2013-7-22 16:11:36 | 显示全部楼层
我猜
例如你定义的 operator<<
返回值是不是A或者A& ?

如果猜错了就直接贴代码吧
沙发
发表于 2013-7-22 16:53:37 | 显示全部楼层
981013 发表于 2013-7-22 16:40
返回值是void类型的

void不行
返回值要是A&或者A才可以
板凳
发表于 2013-7-23 13:00:31 | 显示全部楼层
981013 发表于 2013-7-23 12:48
解决了,谢谢
另外问一下,模板类如何进行typedef操作?

查一查typename关键字的用法吧
地板
发表于 2013-7-23 13:24:07 | 显示全部楼层
981013 发表于 2013-7-23 13:08
没有理解……
现在有一个类A
希望取一个别名叫B

你要做到什么效果?
让什么等同于哪个类型?
5#
发表于 2013-7-23 13:40:58 | 显示全部楼层
981013 发表于 2013-7-23 13:25
让类array大小写都对

最简单的方法
#define array Array
6#
发表于 2013-7-23 13:56:47 | 显示全部楼层
981013 发表于 2013-7-23 13:46
这么简单……我咋么没想到……
最后一个问题:能否重载“[/*填入一个int*/ ]=”实现对array中指定项目 ...

你是问模板类中的函数能不能重载?
7#
发表于 2013-7-23 15:13:58 | 显示全部楼层
本帖最后由 rosynirvana 于 2013-7-23 15:15 编辑
981013 发表于 2013-7-23 14:58
我知道可以
但是[ ]=操作符有三个参数
1.对象本身(无需提供)

你说a[1] =0这种?
这是两个操作符,[]是指针运算的语法糖,定义是a[n] = *(a + n)

你重载[]就可以了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表