1. 程式人生 > >實驗3—初識類

實驗3—初識類

什麽 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—初識類