类和对象(二)

类和对象(二)

ID:45007680

大小:399.50 KB

页数:58页

时间:2019-11-07

类和对象(二)_第1页
类和对象(二)_第2页
类和对象(二)_第3页
类和对象(二)_第4页
类和对象(二)_第5页
资源描述:

《类和对象(二)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第7章 类和对象(二)7.1对象指针和对象引用7.2 数组7.3 常类型7.4 子对象和堆对象7.1.1对象指针和对象引用作函数参数1、对象指针作函数参数优点实现传址调用。可在被调用函数中改变调用函数的参数对象的值,实现函数之间的信息传递;使用对象指针实参仅将对象的地址值传递给形参,而不进行副本的拷贝,这样可以提高运行效率,减少时间开销;7.1.1对象指针和对象引用作函数参数(续)例7.1:分析下列程序的输出结果。#includeclassM{public:M(){x=y=0;}M(inti,intj){x=i;y=j

2、;}voidcopy(M*m);voidsetxy(inti,intj){x=i;y=j;}voidprint(){cout<x;y=m->y;}voidfun(Mm1,M*m2);voidmain(){Mp(5,7),q;q.copy(&p);fun(p,&q);p.print();q.print();}7.1.1对象指针和对象引用作函数参数(续)voidfun(Mm1,M*m2){m

3、1.setxy(12,15);m2->setxy(22,25);}输出5,722,257.1.1对象指针和对象引用作函数参数(续)2、对象引用作函数参数该方法除了具有对象指针作函数参数的优点外,还更简单更直接,应用更广;7.1.1对象指针和对象引用作函数参数(续)例7.2:分析下列程序的输出结果。#includeclassM{public:M(){x=y=0;}M(inti,intj){x=i;y=j;}voidcopy(M&m);voidsetxy(inti,intj){x=i;y=j;}voidprint(){co

4、ut<

5、的成员函数中的特殊指针;该指针指向正在被某个成员函数操作的对象;*this标识调用该成员函数的对象;7.1.2this指针(续)例7.3:分析下列程序的输出结果。#includeclassA{public:A(){a=b=0;}A(inti,intj){a=i;b=j;}voidcopy(A&aa);voidprint(){cout<

6、a;}voidmain(){Aa1,a2(3,4);a1.copy(a2);a1.print();}输出:3,47.2.1对象数组1、对象数组的定义<类名><数组名>[<大小>]...例如:DATEdates[7];DATEdate2[3][5];2、对象数组赋初值与赋值DATEdates[3]={DATE(7,22,1998),DATE(7,23,1998),DATE(7,24,1998)};dates[0]=DATE(7,22,1998);dates[1]=DATE(7,23,1998);dates[2]=DATE(7,24,1998);

7、注意数组元素的赋初值方式;数组元素通过匿名对象赋值,即:DATEd1(7,22,1998);dates[0]=d1;释放d1;7.2.1对象数组(续)例7.4:分析下列程序的输出结果。#includeclassDATE{public:DATE(){month=day=year=0;cout<<"Defaultconstructorcalled."<

8、缺省构造函数构造函数7.2.1对象数组(续)}~DATE(){cout<<"Destructorcalled."<

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

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

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