欢迎来到天天文库
浏览记录
ID:50350146
大小:327.50 KB
页数:55页
时间:2020-03-08
《C++程序设计 教学课件 作者 王春玲 第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章类和对象本章主要内容1.类的定义方式,数据成员、成员函数及访问权限(public,private,protected)。2.对象和对象指针的定义与使用。3.构造函数与析构函数。4.静态数据成员与静态成员函数的定义与使用。5.常数据成员与常成员函数。6.this指针的使用。7.友元函数和友元类。8.对象数组与成员对象。5-1类类是把各种不同类型的数据(称为数据成员)和对数据的操作(称为成员函数)组织在一起而形成的用户自定义的数据类型。5-1-1类的定义C++中,类定义包括类说明和类实现两大部分。说明部分提供了对该类所有数据成员和成员函数的描述;实现部分则提供了所有成员
2、函数的实现代码。类定义的一般形式为:class类名{private:数据成员或成员函数protected:数据成员或成员函数public:数据成员或成员函数};<各成员函数的实现代码>如:下例中定义了一个描述学生的类。classStudent{private://private成员intnumber;//数据成员,表示学号charname[20];//数据成员,表示姓名charsex;//数据成员,表示性别intage;//数据成员,表示年龄public://public成员voidset(inta,char*b,charc,intd);//成员函数,用于给各数据成员赋值
3、voidshow();//成员函数,用于显示各数据成员的值};5-1-2类成员的访问权限类成员具有不同的访问权限,具体可以分成三个部分,即私有部分(private)、公有部分(public)和保护部分(protected),并分别由private、public和protected这三个关键字后跟冒号“:”来指定。这三种访问权限控制符可以以任何顺序出现,且在同一个类的定义中,这三个部分并非必须同时出现。(1)private部分:类的private部分说明的数据成员和成员函数在类之外是不能访问的,只有类中的成员函数才能访问private部分的数据成员和成员函数。(2)prot
4、ected部分:类的protected部分说明的数据成员和成员函数是不能在类之外访问的,只有类的成员函数及其子类(派生类)可以存取protected部分的成员。(3)public部分:类的public部分说明的数据成员和成员函数可以被程序中的任何函数或语句访问。public部分的成员多为成员函数,用来提供一个与外界的接口,外界只有通过这个接口才可以实现对private部分成员的访问。(4)在定义类时,当未指明成员是属于哪部分时,默认是属于private部分,但一般不提倡采用默认形式。5-1-3类的数据成员类的数据成员描述的是类所表达的问题的属性。数据成员要在类的类体中进行
5、定义,其定义的方法和一般变量的定义方法相同,但对于数据成员的访问要受到访问权限(private、protected或public)的控制。在定义类的数据成员时,要注意一个问题:在类体中不允许对类的数据成员初始化。例如:classStudent{private:intnumber;charname[20];charsex;intage=20;//错误的public:voidset(inta,char*b,charc,intd);voidshow();};5-1-4类的成员函数类的成员函数描述的是类所表达的问题的行为。类中的所有成员函数都要在类的类体中进行说明,但成员函数的定
6、义既可以在类体中给出,也可以在类体外给出。(1)将成员函数的定义直接写在类体中。(2)在类的定义体中只写出成员函数的原型说明,而成员函数的定义写在类的类体之外。函数返回值的类型类名::成员函数名(参数说明){函数体}5-2对象类实际上是一种抽象机制,它描述了一类问题共同的属性和行为。在C++中,类的对象就是该类的某一特定实体(也称实例)。1.对象的定义类名对象名表;类是抽象的概念,而对象是具体的概念;每个对象占用了各自的存储单元,每个对象都各自具有了该类的一套数据成员(静态成员除外),而所有成员函数是所有对象共有的。每个对象的成员函数都通过指针指向同一个代码空间。数据区对
7、象n......公共代码区数据区对象n数据区对象n类名*指针变量名表;Studentstu;//定义Student类的对象stuStudent*p;//定义指向Student类的指针p=&stu;//使指针变量p指向对象stu5-2-2对象指针的定义5-2-3对象的成员格式1:对象名.成员名格式2:指针变量名->成员名格式3:(*指针变量名).成员名【例5-1】访问对象的成员。5-2-4this指针在类的每一个成员函数的形参表中都有一个隐含的指针变量this,该指针变量的类型就是成员函数所属类的类型。当程序中调用类的成员函数时
此文档下载收益归作者所有