第10章 构造函数和析构函数

第10章 构造函数和析构函数

ID:43531471

大小:240.50 KB

页数:32页

时间:2019-10-10

第10章 构造函数和析构函数_第1页
第10章 构造函数和析构函数_第2页
第10章 构造函数和析构函数_第3页
第10章 构造函数和析构函数_第4页
第10章 构造函数和析构函数_第5页
资源描述:

《第10章 构造函数和析构函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10章构造函数和析构函数10.1构造函数作用:定义对象时,可以简单地给对象赋初值。10.1.1如何定义构造函数构造函数作为类中的函数出现。构造函数的名字就是类名。可以在函数定义中初始化对象。例:方法一:在类中定义构造函数格式:<类名>(参数){<函数体;>}方法二:在类外定义构造函数<类名>::<类名>(参数){<函数体;>}例10-1:定义构造函数#include“string.h”classperson{private:charName[8];ansignedAge:7;unsignedSex:1

2、;public:person(char*name,intage,charsex){strcopy(Name,name);Age=age;Sex=(sex==’m’?0:1);person(){};//函数重载{voidSetname(char*name){strcopy(Name,name);}voidSetage(intage){Age=age;}voidSetsex(charsex){Sex=(sex==’m’?0:1);}voidGetname(char*name)(strcpy(name,Nam

3、e);)intGetage(){retuenAge;};charGetset(){return(Sex==0?‘m’,’f’);};};例11-2使用构造函数完成数据的输入输出#include"iostream.h"classtime{public:time()//构造函数{hour=0;minute=0;sec=0;}voidset_time();//函数原型voidshow_time();//函数原型private:inthour;intminute;intsec;};voidtime::set_t

4、ime(){cin>>hour;cin>>minute;cin>>sec;}voidtime::show_time(){cout<

5、me()函数,输出t1对象数据成员值。定义对象t2,同时自动执行构造函数,对类中的成员赋初值。执行t2.show_time()函数,输出t2对象数据成员值。问题:如果不给对象成员赋值(第2步不执行),输出结果是什么?如果没有构造函数,不给对象成员赋值,输出结果又是什么?构造函数如何定义?(类内和类外)time()//在类内进行函数声明time::time()//在类外定义{hour=0;minute=0;sec=0;}4.构造函数如何使用?5.构造函数的名字是什么?6.什么时间调用构造函数?7.构造函数

6、有没有返回值?8.用户不定义构造函数,C++系统会自动生成一个构造函数,该函数是否有内容?9.带参数的构造函数和不带参数的构造函数使用上有什么不同?10.函数重载和构造函数重载的各自作用和不同地方是什么?11.构造函数中的初始值是否一定为0?12.为什么要定义重载构造函数?(定义构造函数之后,不允许使用系统默认构造函数,若要使用必须从新显示说明)10.1.2构造函数与对象初始化格式:对象(实参);或对象;例10-3:利用构造函数对对象初始化且输出#include"iostream.h"classdemo

7、{intx,y;public:demo(inta,intb)//建立构造函数{x=a;y=b;}demo()//构造函数重载{x=10;y=20;}voidprint(){cout<<"x="<

8、数和new运算符new是用来创建动态变量,还可以动态创建对象。例:以下例子是创建对象,其对象是由指针表示#include“102.h”.voidmain(){demo*p1=newDemo(3,5);//定义动态对象指针且对象初始化p1->print();demo*p2=newDemo();p2->print();deletep1;//释放或撤消动态对象deletep2;}说明:定义动态对象可以使用另一种方法:demo*p1;p1=newd

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

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

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