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 }
时间: 2024-10-12 16:45:56