构造函数与析构函数.ppt

构造函数与析构函数.ppt

ID:52509839

大小:361.05 KB

页数:64页

时间:2020-04-09

构造函数与析构函数.ppt_第1页
构造函数与析构函数.ppt_第2页
构造函数与析构函数.ppt_第3页
构造函数与析构函数.ppt_第4页
构造函数与析构函数.ppt_第5页
资源描述:

《构造函数与析构函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章构造函数与析构函数教学主要内容类的构造函数析构函数静态成员友元重点与难点类与构造函数友元1第11章构造函数与析构函数教学目标(1)熟练掌握使用构造函数在创建对象时对其进行初始化(2)掌握使用析构函数在释放对象时清理现场(3)会使用友元访问类中的成员2第11章构造函数与析构函数11.1构造函数与析构函数概述11.2拷贝构造函数11.3对象数组11.4this指针11.5静态成员11.6友元311.1.1构造函数当建立一个对象时,对象的状态(数据成员的取值)是不确定的。常常需要初始化。C++中有一个称为构造函数的特殊成员函数,可

2、自动进行对象的初始化。相对于构造函数,一个称为析构函数的成员函数在对象撤消时自动执行清理任务。11.1构造函数和析构函数4构造函数构造函数是一种特殊的成员函数,它的作用是在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态,给各成员数据赋初值。构造函数在对象创建时由系统自动调用。构造函数除具有一般成员函数的特性之外,还具有一些特殊的性质:(1)构造函数的名字必须与类名相同。(2)构造函数可以有任意类型的参数,但不能指定返回类型。它有隐含的返回值,该值由系统内部使用。(3)构造函数允许为内联函数、重载函数、带缺省形参

3、值的函数。(4)构造函数被声明为公有函数,但它不能像其他成员函数那样被显式地调用,它是在定义对象的同时被系统调用的。5构造函数的定义在类定义时没有定义任何构造函数时,编译器会自动为这个类生成一个不带参数的缺省构造函数,其格式如下:<类名>::<缺省构造函数名>(){…}在程序中定义一个对象而没有进行初始化时,则编译器便按缺省构造函数来初始化该对象。只是这个构造函数的函数体是空的,也没有参数,不执行初始化操作。6构造函数的应用示例【实例11-1-1】定义一个时钟类(包括:时、分、秒)及该类的对象,分别使用普通成员函数和构造函数初始化数

4、据成员。7构造函数的应用示例#includeusingnamespacestd;classTime{public:Time()//定义构造成员函数,函数名与类名相同{hour=0;//利用构造函数对对象中的数据成员赋初值minute=0;sec=0;}voidset_time();//函数声明voidshow_time();//函数声明private:inthour;//私有数据成员intminute;intsec;};8构造函数的应用示例voidTime::set_time()//定义成员函数,向数据成员赋值{

5、cin>>hour;cin>>minute;cin>>sec;}voidTime::show_time()//定义成员函数,输出数据成员的值{cout<

6、的值}9带参的构造函数的应用示例【实例11-1-2】定义一个描述学生的类(包括:学号、姓名、年龄和班级号)及该类的对象,使用构造函数初始化数据成员。10//#include"st.h"#include#include#includeclassTStudent{public:TStudent(char*sn,char*name,intage,intcn);//说明构造函数voidShowStudent();private:charsno[5];charsname[10]

7、;intsage;intcno;};构造函数的应用示例11//定义构造函数TStudent::TStudent(char*sn,char*name,intage,intcn){strcpy(sno,sn);strcpy(sname,name);sage=age;cno=cn;}voidTStudent::ShowStudent(){cout<

8、ain(){TStudents1("001","张红",18,2);cout<<"访问类成员";cout<

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

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

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