實驗3—初識類
阿新 • • 發佈:2018-04-04
什麽 OS main 參數 src class AR ble 計算器
1 #include <iostream> 2 using namespace std; 3 class point 4 { 5 public: 6 point(); 7 point(double x0,double y0); 8 ~point(); 9 double getm() 10 { 11 return x*y; 12 } 13 private: 14 double x; 15 double y;16 }; 17 point::point(){} 18 point::point(double x0,double y0):x(x0),y(y0) {cout<<"矩形面積為: "<<endl;} 19 point::~point(){} 20 int main() 21 { 22 double jlong,jshort; 23 cout<<"請輸入矩形的長和寬 "<<endl; 24 cin>>jlong>>jshort; 25 point p1(jlong,jshort);26 cout << p1.getm() << endl; 27 return 0; 28 }
不知是什麽原因,對於某些數值,計算結果的精度相對於計算器總會缺少一位(四舍五入)
1 #include <iostream> 2 using namespace std; 3 class Complex 4 { 5 public: 6 Complex(); 7 Complex(double r0,double i0); 8 Complex(double r0); 9 ~Complex();10 void add(Complex &c)// 因為c2是Complex類,所以需要用Complex定義一個參數,不過是否用引用類型無關緊要 11 { 12 real+=c.real; 13 imaginary+=c.imaginary; 14 } 15 void show() 16 { 17 cout<<real<<(imaginary>0?‘+‘:‘-‘)<<imaginary<<"i"<<endl; 18 } 19 private: 20 double real; 21 double imaginary; 22 }; 23 Complex::Complex(){};//默認構造函數和析構函數在這個程序中並不是必需的(雖然編譯時會自動添加缺省函數),但活用它們會起到意想不到的效果 24 Complex::Complex(double r0,double i0):real(r0),imaginary(i0){} 25 Complex::Complex(double r0):real(r0),imaginary(0){}//這裏我認識到,形式不同僅僅表示不同的賦值方式,不需要因此取出變量單獨賦值(實際上這也難以實現) 26 Complex::~Complex(){} 27 int main() 28 { 29 Complex c1(3,5); 30 Complex c2=4.5; 31 c2.add(c1); 32 c2.show(); 33 return 0; 34 }
上面兩個程序的功能可以用非常簡單的代碼實現,但是通過實際編寫可以知曉
類中的變量是無法直接使用的,這也是類最大的作用
這實現了實現與使用的分離,一定程度上也增強程序的安全性
實驗3—初識類