14.16
friend bool operator==(const StrBlob&, const StrBlob&);
friend bool operator!=(const StrBlob&, const StrBlob&);
bool operator==(const StrBlob &lhs, const StrBlob &rhs)
{
return *lhs.data == *rhs.data;
}
bool operator!=(const StrBlob &lhs, const StrBlob &rhs)
{
return !(lhs == rhs);
}
friend bool operator==(const StrBlobPtr&, const StrBlobPtr&);
friend bool operator!=(const StrBlobPtr&, const StrBlobPtr&);
bool operator==(const StrBlobPtr &lhs, const StrBlobPtr &rhs)
{
return lhs.curr == rhs.curr;
}
bool operator!=(const StrBlobPtr &lhs, const StrBlobPtr &rhs)
{
return !(lhs == rhs);
}
….
14.17
friend bool operator==(const Book&, const Book&);
friend bool operator!=(const Book&, const Book&);
bool operator==(const Book &lhs, const Book &rhs)
{
return lhs.no_ == rhs.no_;
}
bool operator!=(const Book &lhs, const Book &rhs)
{
return !(lhs == rhs);
}
本文通过几个具体的示例展示了在C++中如何为自定义类型StrBlob和StrBlobPtr以及Book重载比较运算符==和!=。这些示例包括了如何比较两个对象的数据成员是否相等,为开发者提供了实现自定义类型比较逻辑的基础。
147

被折叠的 条评论
为什么被折叠?



