标题:[求助]请教一个关于&的问题
取消只看楼主
梦魇琴嚣
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-2-14
 问题点数:0 回复次数:2 
[求助]请教一个关于&的问题

比如有种情况 定义了两个类A和B 在B中定义了个函数m 它的返回值类型是A类的对象
class A
{....};
class B
{
....
A& m()
{...}
....
};
我看教科书上是这么写的 请问这个&在这里是啥意思?是说返回值是类的对象的函数都要这么写吗?为什么返回值是一般数据类型的就不用写这个&呢? 还是说书印错了。。。。- -!


问题很菜 还繁请前辈赐教

搜索更多相关主题的帖子: 教科书 
2006-02-27 02:44
梦魇琴嚣
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-2-14
得分:0 

感谢几位的帮助 不知道我理解的对不对

也就是说 也可以写成A m() {...} 只是基于效率的考虑 写成A& m(){..} 效率更高 而这两种写法都是返回A类的一个对象 结果是相同的?

2006-02-27 15:01
梦魇琴嚣
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-2-14
得分:0 

忠心感谢斑竹姐姐如此耐心 小弟愚钝还想再麻烦姐姐一下

您所说的关于“等于”的这个事情和我上面说的那个问题有什么联系呢? 还是说只是一个对我的忠告 您说的这是后续事宜里需要注意的地方?
因为我这里这个代码有点长 而且是那种最基本 最简单的东西 没啥价值 我觉得都写出来实在是浪费空间 其他部分我觉得我理解的是正确的 它是这么个意思:
比如A类有个成员函数叫v B类有刚才那个函数m m的作用就是返回A类的一个对象a 于是如下:
class A
{....
void v(int m,int n){}
...
};
class B
{.....
A& m()
{return a;}
};
void main()
{....
b.m().v(4,6); //b是B类的一个对象
....
}

2006-02-27 23:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-47353-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.623319 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved