类的定义 class className ∥以关键字clas开 中为类 public 7尖的公有成员 data members: ∥公有数据成员 member functions: ∥公有成员函数 protected: /类的保护成是 data members: 保护数类中定义 member functions;/保护的数据和 private: /类的 函数称为 data members member function /私有类的成员 有成员 ∥以括号及分号结束,体现装 缺省时为私有成员 private 2021/224 6
2021/2/24 6 类的定义 class className //以关键字class 开头 { public: //类的公有成员 data members; //公有数据成员 member functions; //公有成员函数 protected: //类的保护成员 data members; //保护数据成员 member functions; //保护成员函数 private: //类的私有成员 data members; //私有数据成员 member functions; //私有成员函数 }; //以括号及分号结束,体现封装 缺省时为私有成员(private) {}中为类体 类中定义 的数据和 函数称为 类的成员
例1:定义描述一个人的类。 分析:描述一个人的特征用姓名、性别、年龄来表 示。用函数 Registerperson()登录一个人的姓名、性 别和年龄;用函数 getName(来获取一个人的姓名; 用另外两个函数 Getage(和 Getsex()来获取一个人 的年龄和性别。 91 也可省略为如下定义: 911 如下定义时不可省略 912 2021/224
2021/2/24 7 例1:定义描述一个人的类。 分析:描述一个人的特征用姓名、性别、年龄来表 示。用函数RegisterPerson( )登录一个人的姓名、性 别和年龄;用函数getName( )来获取一个人的姓名; 用另外两个函数GetAge( )和GetSex( )来获取一个人 的年龄和性别。 91 也可省略为如下定义: 911 912 如下定义时不可省略:
类的成员函数定义一般格式: 数据类型类名:成员函数名<参数表>{ 例2:定义 Person的四个成员函数 92 2021/224 8
2021/2/24 8 类的成员函数定义一般格式: 数据类型 类名::成员函数名<参数表> { …… } 例2:定义Person的四个成员函数。 92
注:1类中任何成员数据不能使用关键字 extern、 auto或 register限定其存储类型。 2成员函数可直接使用类中的任一成员 3在定义类中的数据成员时,不能对其初始 化。如: class Test int x=5, y=6; ∥误 extern float x ∥误 若定义的成员限于该类的成员函数使用时, 应指定为私有成员,若允许类外使用时,应定义 为公有的。 2021/224 9
2021/2/24 9 注:1.类中任何成员数据不能使用关键字extern、 auto或register限定其存储类型。 2.成员函数可直接使用类中的任一成员。 3.在定义类中的数据成员时,不能对其初始 化。如: class Test{ int x=5,y=6; //错误 extern float x; //错误 … } 4.若定义的成员限于该类的成员函数使用时, 应指定为私有成员,若允许类外使用时,应定义 为公有的
例3:定义并实现类stu #include<iostream.\ udent class student ∥定义类 private: /类私有成员 float score; publics /类的公有成员 void input(float s)score=s void modify (float s)scores;) void display i cout <<n score: < score;) void main(i ∥函数 student ss: 声明对象 SS input(88.5); ∥调用成员函数 SS display; 2021/2/24 10
2021/2/24 10 例3:定义并实现类 student。 #include<iostream.h> class student{ //定义类 private: //类私有成员 float score; public: //类的公有成员 void input(float s) {score=s;} void modify(float s) {score=s;} void display( ) { cout << "\n score: "<< score; } }; void main( ) { //主函数 student ss; //声明对象 ss.input(88.5); //调用成员函数 ss.display( ); }