-3

我正在尝试比较 2 个对象,如果它们匹配使用没有运气的运算符,则返回 true。请帮助使用此代码。我尝试过使用 p.date extra 但它没有用

类名是DateC

bool DateC::operator-=(const DateC& p) const
{
    // if() {return true;};
    // return true;
};
assert( d -= DateC(1, 2, 2001) );
4

1 回答 1

0

假设您真的需要-=操作员,则潜在客户将是:

const DateC & DateC::operator -=  ( const DateC& rhs) {

    this->day = ?;     // do something with rhs.day
    this->month = ?;   // do something with rhs.month 
    this->year = ?;    // do something with rhs.year 

    return *this;
}

但是根据您的问题的标题,您正在寻找==operator :

另一个线索:

bool DateC::operator == ( const DateC &rhs ) const {

    if ((this->day != rhs.day) || 
        (this->month != rhs.month) || 
        (this->year != rhs.year))  {
        return false;
    }
    return true;
}

按如下方式使用它:

bool ok = (DateC(1,2,2001) == DateC(11,2,2001));      // Returns false

注意:当然,您可以将 my 替换==-=,但这对于任何想要使用它的人来说有点扭曲。

于 2013-06-17T00:00:46.673 回答