C++运算符重载教程
程序员文章站
2024-02-05 18:20:58
1、格式:
返回值类型 operator 运算符名称(形参列表)
{
}
operator 运算符名称 :可以看成函数名。
2、不能重载的运算符:
长度运算符 size...
1、格式:
返回值类型 operator 运算符名称(形参列表)
{
}
operator 运算符名称 :可以看成函数名。
2、不能重载的运算符:
长度运算符 sizeof 条件运算符 : ? 成员选择符. 对象选择符.* 域解析运算符 ::
3、重载不能改变运算符的优先级和结合性。
4、重载不会改变运算符的用法,原先有几个操作数,操作数在左边还是右边,这些都不会改变。例如~右边只有一个操作数,+总是出现在两个操作数之间,重载后也必须如此。
5、运算符重载函数不能有默认的参数。
6、运算重载函数既可以作为类的成员函数,也可以作为全局函数(friend友元)。
7、将运算符重载函数作为类的成员函数时,二元运算符的参数只有一个,一元运算符不需要参数。因为少了的这个参数是隐含的。
如: complex operator + (constcomplex & A)const
当执行 c3 = c1 + c2;
会被转换成: c3 = c1.operator +(c2);
外部:operator(c1,c2);
通过 this 指针隐士的访问 c1 的成员变量。
8、对象之间也可以赋值,对象之间的赋值是将成员变量依次拷贝,而不是将整个对象的内存按位拷贝。
下一篇: 浅谈网站高转换率法则之善于扫描的访客们