| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2151 人关注过本帖
标题:同名的成员函数,不同的返回类型,不可行。有办法解决么?
只看楼主 加入收藏
Lyone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:195
注 册:2010-12-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
同名的成员函数,不同的返回类型,不可行。有办法解决么?
例如:
class a
{
int getfile(CString c);
CString getfile(CString c);
}

编译的时候就提示有冲突,那有办法解决么?除了改函数名
搜索更多相关主题的帖子: 函数 成员 类型 办法 
2010-12-10 14:58
Lyone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:195
注 册:2010-12-7
收藏
得分:0 
看到有说用函数的多态性。。。对我来说又是一个新的领域。。。。继续查资料去。
2010-12-10 15:06
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:5 
函数是要被调用的  函数重载是靠参数来区分的
当你调用的时候你知道调用哪个函数吗?(如果不看返回值)
估计你是要改函数名   所以只靠返回值是不可以构成重载
构成函数重载的规则是  函数的参数个数或者参数类型不一样才可以构成重载
感觉楼主概念不是很清晰
还有看下面的代码
void output(int a,int b=5)
void output(int a)
你认为能够成重载嘛?

                                         
===========深入<----------------->浅出============
2010-12-10 15:13
尝鲜
Rank: 2
等 级:论坛游民
帖 子:24
专家分:12
注 册:2010-10-21
收藏
得分:5 
这是一个函数重载问题
如果真有必要写只有返回类型不同的形式的话,在函数前或后加个 const试试
2010-12-10 22:07
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:5 
嗯,3楼就是正解。

主要是看楼主的需要了,为什么会设计这样两个不同返回值的函数?
2010-12-10 22:08
ml232528
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:367
专家分:879
注 册:2007-7-23
收藏
得分:5 
同样的参数 为什么会返回不同的类型?
根据实际情况 重新设计一下吧

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2010-12-12 00:14
迷失的木桶
Rank: 4
等 级:业余侠客
帖 子:52
专家分:230
注 册:2010-5-29
收藏
得分:0 
使用不同的命名空间可以解决名字冲突。
namespace......
在类中基本无解。。。

[ 本帖最后由 迷失的木桶 于 2010-12-14 19:20 编辑 ]
2010-12-14 19:18
水云逸
Rank: 2
等 级:论坛游民
威 望:1
帖 子:11
专家分:29
注 册:2009-10-5
收藏
得分:0 
重载函数靠参数区分

弘道德于市井
吟诗书在风尘
2010-12-18 22:26
快速回复:同名的成员函数,不同的返回类型,不可行。有办法解决么?
数据加载中...
 
   



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

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