1 /* 2 類是屬於用戶自定義的數據類型, 3 並且該類型的數據具有一定的行為能力, 4 也就是類中說描述的方法。 5 通常來說, 6 一個類的定義包含兩部分的內容, 7 一是該類的屬性, 8 另一部分是它所擁有的方法。 9 以 "人類" 這個類來說, 10 每個人都有自己的姓名、年齡、出生日期、體重等, 11 為 人類 的屬性部分, 此外, 人能夠吃飯、睡覺、行走、說話等屬於人類所具有的行為。 12 吃飯、睡覺、行走、說話也叫基類 13 在 人 類中有學生,白領等,叫做子類或派生類 14 */ 15 #include<iostream> 16 using namespace std; 17 18 class point 19 { 20 /* 21 public 與 private 為屬性/方法限制的關鍵字, 22 private 表示該部分內容是私密的, 23 不能被外部所訪問或調用, 24 只能被本類內部訪問; 25 而 public 表示公開的屬性和方法, 26 外界可以直接訪問或者調用。 27 一般來說類的屬性成員都應設置為private, 28 public只留給那些被外界用來調用的函數接口, 29 但這並非是強制規定, 可以根據需要進行調整; 30 */ 31 public://公開 32 void setpoint(int x, int y) 33 { 34 Xpos = x; 35 Ypos = y; 36 } 37 void printpoint() 38 { 39 cout << "x=" << Xpos << endl; 40 cout << "y=" << Ypos << endl; 41 } 42 private://私密 43 int Xpos; 44 int Ypos; 45 46 };//結束部分的分號不能省略。 47 48 int main() 49 { 50 point a; 51 a.setpoint(10,20); 52 a.printpoint(); 53 getchar(); 54 return 0; 55 }
在類外定義成員函數
1 //在類外定義成員函數通過在類內進行聲明, 然後在類外通過作用域操作符::進行實現 2 #include<iostream> 3 using namespace std; 4 class point 5 { 6 public : 7 void setpoint(int x,int y); 8 void printpoint(); 9 private: 10 int xpos; 11 int ypos; 12 };//class end 13 void point::setpoint(int x, int y)//通過作用域操作符 '::' 實現函數 14 { 15 /* 16 依 setPoint 成員函數來說, 17 在類內聲明的形式為 void setPoint(int x, int y); 18 那麼在類外對其定義時函數頭就應該是 void Point::setPoint(int x, int y) 這種形式, 19 其返回類型、成員函數名、參數列表都要與類內聲明的形式一致。 20 */ 21 xpos = x; 22 ypos = y; 23 } 24 void point::printpoint()//通過作用域操作符 '::' 實現函數 25 { 26 cout << "x=" << xpos << endl; 27 cout << "y=" << ypos << endl; 28 } 29 int main() 30 { 31 point a; 32 int a1, b; 33 cin >> a1; 34 cin >> b; 35 a.setpoint(a1, b); 36 a.printpoint(); 37 getchar(); 38 return 0; 39 }