我正在尝试比较 2 个对象,如果它们匹配使用没有运气的运算符,则返回 true。请帮助使用此代码。我尝试过使用 p.date extra 但它没有用
类名是DateC
bool DateC::operator-=(const DateC& p) const
{
// if() {return true;};
// return true;
};
assert( d -= DateC(1, 2, 2001) );
我正在尝试比较 2 个对象,如果它们匹配使用没有运气的运算符,则返回 true。请帮助使用此代码。我尝试过使用 p.date extra 但它没有用
类名是DateC
bool DateC::operator-=(const DateC& p) const
{
// if() {return true;};
// return true;
};
assert( d -= DateC(1, 2, 2001) );
假设您真的需要-=
操作员,则潜在客户将是:
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 替换==
为-=
,但这对于任何想要使用它的人来说有点扭曲。