複數類complex的定義、實現(求模、複數加法)html
1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 5 class complex{ 6 public: 7 complex(double x=0,double y=0); //注意要有默認形參值 8 complex(complex &p); 9 void add(complex z); 10 double mod(); 11 void show(); 12 private: 13 double real,imag; 14 }; 15 16 int main() 17 {complex c1(3,5); //用複數3+5i初始化c1 18 complex c2(4.5); //用實數4.5初始化c1 19 complex c3=c1; //用c1初始化c3 或者寫成complex c3(c1); 20 c1.add(c2); //將c1和c2相加,結果保存在c1中 21 c1.show(); //將c1輸出 22 cout<<"|c1|="<<c1.mod()<<endl; //輸出c1的模 23 cout<<"|c3|="<<c3.mod(); //輸出c3的模 24 return 0; 25 } 26 27 complex::complex(double x,double y):real(x),imag(y){ //構造函數 28 } 29 30 complex::complex(complex &p):real(p.real),imag(p.imag){ //複製構造函數 31 } 32 33 void complex::add(complex z){ //複數相加 34 real=real+z.real; 35 imag=imag+z.imag; 36 } 37 38 double complex::mod(){ //複數求模 39 return sqrt(real*real+imag*imag); 40 } 41 42 void complex::show(){ //輸出複數 43 cout<<real<<"+"<<imag<<"i"<<endl; 44 }
運行結果:ios
實驗小結:編程
此次的編程讓我對類的定義,實現以及構造函數和複製構造函數的使用規則有了更好的理解。
less
個人評論:函數
一、https://www.cnblogs.com/fearless04/p/10636013.htmlui
二、https://www.cnblogs.com/mxueyyqx/p/10629513.htmlspa
三、https://www.cnblogs.com/suifeng823/p/10631684.htmlcode