您的位置:程序门 -> vc/mfc -> 进程/线程/dll



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


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


来看看这两个函数有啥区别?[已结贴,结贴人:ghoststears]
发表于:2007-05-11 21:54:59 楼主
bool   operator==(ctdatacls   *new)

bool   operator==(const   ctdatacls   &new)

以上两个函数的功能基本相同相同,都是比较两个ctdatacls是否相同,但是第二个函数中的那个const有啥用??
着两个函数不可以用一个函数重载来完成吗?
发表于:2007-05-11 22:00:551楼 得分:10
前一个参数是传指针,后一个传引用
const   说明bool   operator==(const   ctdatacls   &new)函数不能改变new的成员
发表于:2007-05-11 22:26:032楼 得分:10
而且在bool   operator==(const   ctdatacls   &new)这个函数里只能调用ctdatacls的const方法。
发表于:2007-05-12 11:38:333楼 得分:30
第一个参数是传指针,可改变其成员值,只能用一般指针或引用作为它的实参,不能用常对象指

针作为它的实参.如例:

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

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

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

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

实参.


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

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




快速检索

最新资讯
热门点击