9.22
2017-09-25 本文已影响0人
老翟_4856
运算符重载,用一段代码重新定义加号,以实现想要达到的加号效果。实现时,首先把指定的运算表达式转化为对运算符函数的调用,这个过程是在编译中完成的。
运算符重载时参数个数不可以超过原来数目。
使用运算符重载,需注意:
(1)在C++中几乎所有的运算符(除“.”(成员选择符)、“.*”(成员对象选择符)、“->*(成员指针选择符)”、“::”、“?:”、“sizeof”外)都可以被重载。只能重载C++中已有的运算符,不允许创建新的运算符。
(2) 运算符的重载既不会改变原运算符的优先级和结合性。
(3)至少有一个操作对象是自定义类型,参数都是基本类型时不能重载。
(4)不提倡改变参数个数、运算符含义。
(5)重载运算符的函数不能有默认的参数。
赋值运算符重载
拷贝构造函数和赋值操作符都是用来拷贝一个类的对象给另一个同类型的对象。若类的数据成员中有指向动态分配空间的指针,通常定义拷贝构造函数,此时,应重载赋值运算符。
只能是成员的运算符:(系统为类提供的)
=、()、[ ]、-〉
只能是友元的运算符:(cout是其它类的对象)
cout<<、cin>>
既可以友元也可以成员的:(定义者提供)
+、-等
内容还算比较容易理解。。。