C++程序设计运算符重载.ppt

C程序设计运算符重载课案

C++面向对象程序设计教程 第4章 运算符重载 运算符重载的概念 C++语言允许重新定义已有的运算符,使其完成一些只在该特定类中使用的特定操作,这就是运算符重载 如用加法“+”运算符进行两个复数的相加。若有z1=2+3i,z2=4-8i,在数学中,可直接用“+”实现z3=z1+z2,也就是将z1和z2的实部和虚部分别相加,z3=2+4+(3-8)i=6-5i。这时必须实现复数相加。比如用户可以通过定义一个函数来实现复数相加 运算符重载 能否像实数的加法运算一样,直接用加号“+”来实现复数运算呢?例如在程序中直接用“z3=z1+z2”进行运算,这需要对运算符“+”进行重载。 运算符重载的方法在实质上就是定义一个重载运算符的函数,在执行被重载的运算符时,系统将调用此函数实现相应的运算。运算符重载本质就是函数的重载。 重载运算符的函数的原型如下: 返回值类型operator运算符(形参表); 例如将“+”用于Complex类的加法运算运算符重载的函数原型可以为: Complex operator+(const Complex z1, const Complex z2); 运算符重载方式 C++的运算符按参加运算的操作数个数可分为单目运算符、双目运算符、三目运算符以及不确定目数运算符 单目运算符只有一个操作数,例如!p(取反运算符),-b(负号运算符)等 双目运算符有两个操作数参与运算,

文档评论(0)

1亿VIP精品文档

相关文档