bool operator==(CTDATACLS *New)bool operator==(const CTDATACLS &New)以上两个函数的功能基本相同相同,都是比较两个CTDATACLS是否相同,但是第二个函数中的那个const有啥用??
着两个函数不可以用一个函数重载来完成吗?

解决方案 »

  1.   

    前一个参数是传指针,后一个传引用
    const 说明bool operator==(const CTDATACLS &New)函数不能改变New的成员
      

  2.   

    而且在bool operator==(const CTDATACLS &New)这个函数里只能调用CTDATACLS的const方法。
      

  3.   

    第一个参数是传指针,可改变其成员值,只能用一般指针或引用作为它的实参,不能用常对象指针作为它的实参.如例: CTDATACLS *p;//一般指针类型,此时 p 可作为bool operator==(CTDATACLS *New)的实参 const CTDATACLS *q; //此时q 不能作为bool operator==(CTDATACLS *New)的实参第二数参数是传一个常对象引用,只能引用其成员值,且只能调用CTDATACLS的const方法。可以用一般指针或常对象指针作为它的实参. 也就是说如上的两种指针类型 p , q  都可以作为它的实参.
    重新注册的新号,看到分这么高,说得详细点。LZ记得给大家散分...鼓励下....