C++何月洁课件:复数运算运算符重载实例

需积分: 10 3 下载量 55 浏览量 更新于2024-08-19 收藏 3.83MB PPT 举报
在东南大学何洁月教授的C++课程中,"问题举例——复数的运算"部分主要探讨了如何在C++中处理复数这种特殊的数值类型。复数在数学中是由实部和虚部组成的,通常表示为a + bi的形式,其中a是实数,b是虚数,i是虚数单位,满足i² = -1。在C++中,虽然原始的数据类型并不直接支持复数,但可以通过自定义类来实现复数的运算。 实现复数加减运算的关键在于重载运算符"+"和"-"。重载运算符是在C++中让特定操作具有特殊含义的一种机制,允许程序员扩展或修改内置类型的行为。为了实现复数的加减,你需要创建一个复数类,该类包含两个私有成员变量(代表实部和虚部),以及相应的公共成员函数(如getReal()和getImaginary()获取值,setReal()和setImaginary()设置值)。 1. 自定义复数类:首先,定义一个复数类,比如`Complex`,包含两个成员变量(例如`double real`和`double imaginary`)以及重载的`+`和`-`运算符。这些运算符应该接受另一个复数对象作为参数,并计算两个复数的对应分量之和或差。 ```cpp class Complex { private: double real; double imaginary; public: // 构造函数 Complex(double r = 0, double i = 0) : real(r), imaginary(i) {} // 重载+运算符 Complex operator+(const Complex& other) const { return Complex(real + other.real, imaginary + other.imaginary); } // 重载-运算符 Complex operator-(const Complex& other) const { return Complex(real - other.real, imaginary - other.imaginary); } // 其他辅助函数... }; ``` 2. 运算示例:在实际编程中,你可以像操作普通数字那样使用复数,例如: ```cpp Complex c1(2, 3); // 复数2 + 3i Complex c2(4, 5); // 复数4 + 5i Complex sum = c1 + c2; // 复数6 + 8i Complex difference = c1 - c2; // 复数-2 - 2i ``` 通过这种方式,你可以扩展C++语言的内置行为,使得复数的运算在类的层次上得以实现。这不仅是面向对象编程的一个重要应用,也是函数重载(如上述的`operator+`和`operator-`)在实际项目中的典型用例。学习和理解这些概念对于深入掌握C++编程至关重要。