定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算符可以都是类对象,也可以其中有一个是整数,顺序任意。例如:c1 + c2,i + c1,c1 + i均合法(设i为整数,c1,c2为复数)。编写程序,分别求两个复数之和、整数和复数之和。
#include <iostream> using namespace std;
//复数类
class Complex { public: Complex(){real = 0;imag = 0;} Complex(double r){real = r;imag = 0;} Complex(double r,double i){real = r;imag = i;} void display(); friend Complex operator +(Complex c1,Complex c2);//重载操作符+
private: double real; double imag; };
void Complex::display() { cout << "(" << real << "," << imag << "i)" << endl; }
Complex operator +(Complex c1,Complex c2) { Complex c; c.real = c1.real + c2.real; c.imag = c1.imag + c2.imag; return c; }
int main() { Complex c1(3,4),c2(5,-10); Complex c7; c7 = c1 + 3.3; cout << "c1=";c1.display(); cout << "c2=";c2.display(); cout << "c1 + 3.3=";c7.display(); system("pause"); return 0; }
|
阅读(3824) | 评论(0) | 转发(0) |