创建使用运算符的 C++ 类

creating c++ classes that use operators

本文关键字:C++ 运算符 创建      更新时间:2023-10-16

所以基本上我只是用 c++ 做沙盒,因为我试图学习一些,但是当我创建一个类时,我很快发现使用 classType className=value; 将使用重载构造函数创建类

我如何使我的类可以使用其他运算符,如 *、== 或 ||

就像我知道在 Python 中你创建私有方法一样__plus__它在 C++ 中类似吗?

您可以在C++重载很多运算符。在您的情况下,您只需分别声明名称为 operator*operator==operator|| 的函数。某些运算符可能需要作为类的成员函数重载,其他运算符作为自由函数重载。

下面是一些函数签名示例:

X operator*(const X&, const X&);
bool operator==(const X&, const X&);
bool operator||(const X&, const X&);

您可以在维基百科上轻松找到可重载运算符的完整列表。

在进入这个话题之前,我建议你选择一本好书,多学习一点C++。如果没有适当的预防措施,一些操作员可能会有超载的危险,而有些操作员一旦过载后可能无法按照您的预期行事。

查找重载运算符。

以下是您可以使用的一些链接。


http://courses.cms.caltech.edu/cs11/material/cpp/donnie/cpp-ops.html
http://www.cplusplus.com/doc/tutorial/classes2/运算符重载

前两个是关于如何做到这一点,第三个是关于为什么/何时。