来看看这两个函数有啥区别?

Ghoststears 2007-05-11 09:54:59
bool operator==(CTDATACLS *New)

bool operator==(const CTDATACLS &New)

以上两个函数的功能基本相同相同,都是比较两个CTDATACLS是否相同,但是第二个函数中的那个const有啥用??
着两个函数不可以用一个函数重载来完成吗?
...全文
229 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
frogJump 2007-05-12
  • 打赏
  • 举报
回复
第一个参数是传指针,可改变其成员值,只能用一般指针或引用作为它的实参,不能用常对象指

针作为它的实参.如例:

CTDATACLS *p;//一般指针类型,此时 p 可作为bool operator==(CTDATACLS *New)的实参

const CTDATACLS *q; //此时q 不能作为bool operator==(CTDATACLS *New)的实参

第二数参数是传一个常对象引用,只能引用其成员值,且只能调用CTDATACLS的const方法。可以

用一般指针或常对象指针作为它的实参. 也就是说如上的两种指针类型 p , q 都可以作为它的

实参.


重新注册的新号,看到分这么高,说得详细点。。。。

LZ记得给大家散分...鼓励下....


robotom 2007-05-11
  • 打赏
  • 举报
回复
而且在bool operator==(const CTDATACLS &New)这个函数里只能调用CTDATACLS的const方法。
Y___Y 2007-05-11
  • 打赏
  • 举报
回复
前一个参数是传指针,后一个传引用
const 说明bool operator==(const CTDATACLS &New)函数不能改变New的成员

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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