《第04章运算符重载》-课件设计(公开).pptVIP

  • 2
  • 0
  • 约2.25万字
  • 约 68页
  • 2018-12-24 发布于广西
  • 举报

《第04章运算符重载》-课件设计(公开).ppt

第4章 运算符重载 4.1 什么是运算符重载 4.2 运算符重载的方法 4.3 重载运算符的规则 4.4 运算符重载函数作为类成员函数和友元函数 4.5 重载双目运算符 4.6 重载单目运算符 4.7 重载流插入运算符和流提取运算符 4.8 不同类型数据间的转换 4.1 什么是运算符重载 所谓重载,就是重新赋予新的含义? 函数重载:就是对一个已有的函数赋予新的含义,使之实现新功能? 运算符也可以重载?实际上,我们已经在不知不觉之中使用了运算符重载? int main() { int i=3+5; float f=3.2+3.5; couti; coutf; cini; cinf; couti; coutf; } 4.1 什么是运算符重载 用户能否用“+”号进行两个复数的相加? 若有 c1=(3+4i),c2=(5-10i) 在数学中可以实现 c2c1=c2+c3; 在C++中能不能在程序中直接用运算符“+”对复数进行相加运算? int main() { ...... Complex c1, c2, c3; c3=c2+c1; // C++能不能自动实现对复数进行相加运算? ...... } 用户必须自己设法实现复数相加? 例如用户可以通过定义一个专门的函数来实现复数相加? 例1 通过普通函数来实现复数相加? #include iostream using namespace std; class Complex // 定义Complex类 {public: Complex( ){real=0;imag=0;} // 定义构造函数 Complex(double r, double i){real=r; imag=i;} // 构造函数重载 void display( ); // 声明输出函数 private: double real; // 实部 double imag; // 虚部 }; Complex complex_add(Complex c1, Complex c2 ) { Complex c; c.real=c1.real+c2.real; // this-real+c2.real; c.imag=c1.imag+c2.imag; // this-imag+c2.imag; return c; } void Complex∷display( ) // 定义输出函数 { cout(real; cout;; coutimagi)endl; } int main( ) { Complex c1(3,4),c2(5,-10),c3; // 定义3个复数对象 c3=complex_add(c1, c2); // 调用复数相加函数, 实现 c3=c1+c2 coutc1=; c1.display( ); // 输出c1的值 coutc2=; c2.display( ); // 输出c2的值 coutc1+c2=; c3.display( ); // 输出c3的值 return 0; } 运行结果如下: c1=(3, 4i) c2=(5, -10i) c1+c2=(8, -6i) 例4.1 通过成员函数来实现复数相加? #include iostream using namespace std; class Complex // 定义Complex类 {public: Complex( ){real=0;imag=0;} // 定义构造函数 Complex(double r,double i){real=r; imag=i;} // 构造函数重载 Complex complex_add(Complex c2); // 声明复数相加函数 void display( ); // 声明输出函数 private: double real; // 实部 double imag; // 虚部 }; Complex Complex∷complex_add(Complex c2) // (Complex *this, Complex c2) { Complex c; c.real=real+c2.real; // c.real=this-real+c2.real; c.imag=imag+c2.imag; // c.imag=this-imag+c2.imag; return c; } void Complex∷display( ) // 定义输出函数 { cout(real; cout;; coutimagi)endl; } int main( ) { Complex c1(3,4),c2(5,-10

文档评论(0)

1亿VIP精品文档

相关文档