实验5类和对象应用讲解.doc

实验5类和对象应用讲解.doc

ID:51833024

大小:67.50 KB

页数:11页

时间:2020-03-16

实验5类和对象应用讲解.doc_第1页
实验5类和对象应用讲解.doc_第2页
实验5类和对象应用讲解.doc_第3页
实验5类和对象应用讲解.doc_第4页
实验5类和对象应用讲解.doc_第5页
资源描述:

《实验5类和对象应用讲解.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验5类和对象的应用一、实验目的1.掌握类定义的基本格式和类成员的访问控制。2.掌握对象定义和利用构造函数对对象的数据成员进行初始化的方法。3.掌握成员函数的定义与使用。4.理解并掌握静态数据成员和静态成员函数的使用方法。5.理解友元函数的使用方法。二、知识要点1.类的定义在面向对象程序设计中,类(class)就是对现实世界中抽象出的“类”的模拟描述,是用户自己定义的数据类型,它的一般定义格式如下:class<类名>{private:<私有数据成员和成员函数>;protected:<保护数据成员和成员函数>;public:<公有数据成员和成员函数>;};<类中各个

2、成员函数的实现>说明:protected访问控制符主要用在类的继承中,后续课继承中会讲到2.类成员的访问控制类的成员访问权限总体上可分为:公有的(public)、私有的(private)和保护的(protected)三类。若某个成员未作任何访问权限声明,则默认为私有的。公有的成员用public来说明,这部分通常是一些操作(即成员函数),作为类与外界的接口,所有公有的成员可以在程序中的任何位置被访问。私有的成员用private来说明,这部分通常是一些数据成员,这些成员用来描叙该类中对象的属性的,只有成员函数或经过特殊说明的函数(如友元函数)才可以引用它们,它们是特意

3、被用户隐藏起来的部分,用户在类外其他地方是无法访问它们的。保护的成员用protected来说明,它的限定能力介于私有和公有之间,除了类本身的成员函数、友元函数可以访问成员外,只有该类的派生类(子类)可以访问。关键字public、private和protected被统称为访问权限修饰符或访问控制修饰符。它们在类体(即一对花括号内)出现的先后顺序没有要求,并且允许多次出现。3.对象的定义C++规定:必须先定义类,然后定义对象,用类来定义对象在格式上与普通类型定义变量是完全相同的.定义对象的一般形式:<类名><对象名表>;2.对象成员的访问方式对象成员访问的一般形式是:

4、<对象名>.<数据成员名>或者<对象名>.<成员函数名>([<实参表>])5.构造函数的定义和分类构造函数是类的一种特殊的成员函数,它的主要作用于是为对象分配空间和进行初始化工作。除了具有一般成员函数的特征外,还具有以下一些特殊的性质:(1)构造函数的名字必须与类名字相同;(2)构造函数可以有任意类型和任意个数的参数,所以构造函数可以重载,但不能指定返回值类型;(3)构造函数的函数体可以写在类体内,也可以写在类体外;(4)构造函数被声明为公有函数,但它不能像其他成员函数那样被显示的调用,而是在用类声明对象的同时被系统自动调用。调用构造函数的一般形式是:类名对象名(

5、参数表);构造函数分为4类,分别是普通构造函数、默认构造函数、有缺省参数的构造函数和复制(拷贝)构造函数。6.默认构造函数默认构造函数是指没有任何参数的构造函数。如果在设计类时没有定义构造函数,C++编译程序会自动为该类建立一个默认的构造函数。这个默认构造函数没有任何形式参数,并且函数体为空。其格式如下:<类名>::<默认构造函数名>(){}按构造函数规定,默认构造函数名与类名相同。默认构造函数也可以由程序员直接定义在类体中。另外,如果构造函数的参数具有默认值时,这样的构造函数被称为有缺省参数的构造函数。7.拷贝构造函数拷贝构造函数是一种特殊的构造函数,用于依据已

6、存在的对象建立一个新对象。其一般形式为:classT{public:T(constT&对象名);……}T::T(constT&对象名){函数体}其中,T代表任何一个类的名字。const是一个类型修饰符,被它修饰的对象是不能被改变的常量.拷贝构造函数的拷贝分为浅拷贝和深拷贝。一般来说,只需浅拷贝时最好利用系统自动生成的拷贝函数,这样效率高。若需要在构造函数中开辟新的内存空间,则需要我们自己编写这样的构造函数以完成深拷贝。拷贝构造函数主要在下面3种情况中起到初始化作用。(1)声明语句中用一个对象初始化另外一个对象,例如:Personstudent2(student1)

7、;(2)函数的参数是值参数时,若用对象作为函数实参传递给函数形参,这时需要调用拷贝构造函数。(3)当对象作为函数返回值时,如执行returnR时,系统将用对象R来初始化一个匿名对象,这时需要调用拷贝构造函数。7.析构函数析构函数是类的一种特殊成员函数,其功能是用来释放一个对象的内存空间。它的功能与构造函数正好相反.析构函数的特点如下:(1)析构函数是成员函数,函数体可以写在类体内,也可以写在类体外;(2)析构函数是一个特殊的函数,它的名字是在类名的前面加“~”字符;(3)析构函数没有参数,没有返回值,所以不能重载。在下面两种情况下,析构函数会被自动调用:A.当一个

8、对象的作用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。