所以基本上我只是用 c++ 玩沙箱,因为我正在尝试学习一些东西,但是当我创建一个类时,我很快发现 usingclassType className=value;
将使用重载的构造函数创建类
我怎么做才能让我的班级可以使用其他运算符,如 *、== 或 ||
就像我知道在 python 中你创建私有方法一样__plus__
,它在 c++ 中是否类似?
您可以在 C++ 中重载许多运算符。在你的情况下,你只需要分别用 name 和 声明operator*
函数。一些运算符可能需要作为类的成员函数重载,而其他运算符可能需要作为自由函数重载。operator==
operator||
以下是一些函数签名示例:
X operator*(const X&, const X&);
bool operator==(const X&, const X&);
bool operator||(const X&, const X&);
您可以在 Wikipedia 上轻松找到可重载运算符的完整列表。
在进入这个话题之前,我建议你选择一本好书,多学习一点 C++。如果没有适当的预防措施,一些操作员可能会很危险地过载,而有些操作员一旦过载可能就不会按照您期望的方式运行。
查找重载运算符。
以下是您可以使用的一些链接。
http://courses.cms.caltech.edu/cs11/material/cpp/donnie/cpp-ops.html
http://www.cplusplus.com/doc/tutorial/classes2/
运算符重载
前两个是关于如何做的,第三个是关于为什么/何时。