005构造函数与析构函数

005构造函数与析构函数

ID:37823745

大小:70.50 KB

页数:6页

时间:2019-05-31

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

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

1、构造函数与析构函数一、构造函数1.构造函数:特殊的类成员函数,主要用于为对象分配空间,进行初始化。特点:(1)必须与类同名。(2)不能指定返回类型。(3)可以写在函数体内或外。(4)可以重载。(5)即使构造函数是公有的,也不能被显式地调用,它是定义对象时被自动调用的。(6)构造函数也可以是不带参数的。2.构造函数的声明格式:函数名(参数表);——函数名必须与类同名。带缺省值的构造函数:函数名(类型参数=默认值,类型参数=默认值);构造函数的实现:类名::函数名(参数表){语句序列;}3.用构造函数直接创建对象格式:类名对象名(实参表);——声明构造函数时,参数没有缺省值,则定义对象时必须给

2、出实参。4.构造函数与指针、new结合创建对象格式:类名*指针变量=new类名(实参表);5.缺省的构造函数如果定义类时没有定义构造函数,则系统自动生成一个缺省的构造函数:格式:类名::缺省构造函数名(){}功能:为对象开辟一个存储空间,但不初始化。由于用户一旦定义了构造函数,系统将不再提供缺省构造函数,因此,可以定义一个无参的构造函数以提高程序的健壮性:一个有错的程序:#include"iostream.h"classDate{public:Date(inty,intm,intd);//Date(){}或增加缺省值voidsetDate(inty,intm,intd);voidshowD

3、ate();private:intyear,month,day;};Date::Date(inty,intm,intd){year=y;month=m;day=d;}voidDate::setDate(inty,intm,intd){year=y;month=m;day=d;}voidDate::showDate(){cout<

4、构造函数与初始化函数二、析构函数1.析构函数一种特殊的类成员函数,它执行与构造函数相反的操作,用于撤消对象时的一些清理任务,释放分配给对象的内存空间。特点:(1)没有参数,没有返回值,不能重载,一个类中只能有一个析构函数。(2)撤消对象时,系统自动调用析构函数。2.析构函数的声明格式:~函数名()——函数名与类同名。三、拷贝构造函数用已经存在的对象建立新对象或函数调用时函数参数为对象且是值传递类型时,需要调用的函数。当类中没有显示声明拷贝构造函数,系统会提供默认的拷贝构造函数。#include"iostream.h"classstu{private:char*name;public:stu

5、(){cout<<"调用了无参构造函数"<

6、ut<<"析构了"<

7、构造函数必须定义,不能缺省2.在声明类时,下面的说法正确的是:A.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是registerC.prvate,public,protected可以按任意顺序出现D.没有用prvate,public,protected定义的数据成员是公有成员3.在下面有关析构函数特征的描述中,正确的是:()A.一个类中可以定义多个析构函数B.析构函数名与类名完全相同C.析构函数不能指定返回

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

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

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