#include<iostream>
#include<math.h>
using namespace std;
class Complex{
public:
Complex(){real = 0;imag = 0;}
Complex(double r,double i){real = r;imag = i;}
friend Complex operator / (Complex &c1,Complex &c2);
void display();
private:
double real;
double imag;
};
Complex operator / (Complex &c1,Complex &c2){
Complex c;
c.real = c1.real * c2.real - c1.imag * (-c2.imag);
c.imag = c1.real * (-c2.imag) + c1.imag * c2.real;
c.real /= sqrt(pow(c2.real,2) + pow(c2.imag,2));
c.imag /= sqrt(pow(c2.real,2) + pow(c2.imag,2));
return c;
}
void Complex::display(){
cout<<real<<","<<imag<<"i"<<endl;
}
int main(){
Complex c1(1,2),c2(3,4),c3;
c3 = c1 / c2;
c1.display();
c2.display();
c3.display();
return 0;
}
第4章 重载运算符 / 作复数除法运算
最新推荐文章于 2024-06-10 17:01:01 发布