complex類的定義、實現

複數類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

相關文章
相關標籤/搜索