数据结构-运算符重载要点
第10章 运算符重载 10.1 什么是运算符重载 10.2 运算符重载的方法 10.3 重载运算符的规则 10.4 运算符重载函数作为类成员函数和友元函数 10.5 重载双目运算符 10.6 重载单目运算符 10.7 重载流插入运算符和流提取运算符 10.8 不同类型数据间的转换 10.1 什么是运算符重载 C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义的类型,也需要类似的运算。这时就必须重新定义这些运算符,赋于已有运算符新的功能,使之能够用于特定类型执行特定操作。 实际上,很多C++操作符已经被重载。例如,将*操作符用于地址,将得到在这个地址中的值;但将它用于两个数字时,得到的将是它们的乘积。 C++根据操作数的数目和类型来决定采用哪种操作。 使同一个运算符作用于不同类型的数据时导致不同的行为的这种机制称为运算符重载。 C++通过重载运算符使之用于自定义类型,扩展了运算符的功能,这也是C++最具吸引力的优点之一。 运算符重载机制 运算符重载是通过重载一种特殊函数—运算符函数来实现的。 对C++运算符可作如下理解: 编译器在对运算符进行编译处理时,将一个运算符编译成如下形式: 一元运算符:@obj → operator@(obj) 二元运算符:obj1@obj2 → operator@(obj1,obj2) 由于C++中有前增(
原创力文档

文档评论(0)