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

时间:2013-10-18 01:13:26

标签: c++ class operators

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

我如何制作它,以便我的班级可以使用其他运算符,如*,==或||

就像我在python中知道的那样你创建像__plus__这样的私有方法它是否与c ++类似?

2 个答案:

答案 0 :(得分:1)

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

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

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

您可以easily find维基百科上的可重载运算符的完整列表。

在进入本主题之前,我建议您选择a good book并学习更多C ++知识。如果没有采取适当的预防措施,某些操作员可能会有过载的危险,而有些might not behave the way you expect一旦过载就会过载。

答案 1 :(得分:0)

查找重载运算符。

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

http://courses.cms.caltech.edu/cs11/material/cpp/donnie/cpp-ops.html
http://www.cplusplus.com/doc/tutorial/classes2/
Operator overloading

前两个是关于如何做的,第三个是关于为何/何时。