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 }