C++面向对象程序设计 教学课件 作者 张德慧 周元哲 主编第4章 进一步学习类和对象.ppt

C++面向对象程序设计 教学课件 作者 张德慧 周元哲 主编第4章 进一步学习类和对象.ppt

ID:50019558

大小:187.00 KB

页数:57页

时间:2020-03-07

C++面向对象程序设计 教学课件 作者 张德慧 周元哲 主编第4章 进一步学习类和对象.ppt_第1页
C++面向对象程序设计 教学课件 作者 张德慧 周元哲 主编第4章 进一步学习类和对象.ppt_第2页
C++面向对象程序设计 教学课件 作者 张德慧 周元哲 主编第4章 进一步学习类和对象.ppt_第3页
C++面向对象程序设计 教学课件 作者 张德慧 周元哲 主编第4章 进一步学习类和对象.ppt_第4页
C++面向对象程序设计 教学课件 作者 张德慧 周元哲 主编第4章 进一步学习类和对象.ppt_第5页
资源描述:

《C++面向对象程序设计 教学课件 作者 张德慧 周元哲 主编第4章 进一步学习类和对象.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《C++面向对象程序设计》教学内容第1章C++概述第2章类和对象第3章面向对象程序设计概述第4章进一步学习类和对象第5章堆与复制构造函数第6章继承性:派生类第7章运算符重载第8章虚函数和多态性第9章模板第10章类库和C++的标准模板库STL第11章输入输出流第12章异常处理第4章进一步学习类和对象4.1对象数组4.2指向对象的指针4.3this指针4.4对象的赋值4.5对象作为函数参数4.6从函数返回对象4.7类的静态成员4.8类的友元4.1对象数组(Objectarrays)定义:类名数组名[元素个数];例如:StudentaSA[10];//一个学

2、生类对象数组通过下标访问方法:数组名[下标].成员名;例如:aSA[j].print();对象数组初始化数组中每一个元素对象被创建时,系统都会调用构造函数类初始化该对象。通过初始化列表赋值。例:LocationA[2]={Location(1,2),Location(3,4)};如果没有为数组元素指定显式初始值,数组元素使用缺省值初始化(调用缺省构造函数)。当数组中每一个对象被删除时,系统都要调用一次析构函数。数组元素所属类的构造函数没有自定义构造函数时,则采用缺省构造函数。各元素对象的初值要求为相同的值时,可以定义出具有缺省形参值的构造函数。各元素对

3、象的初值要求为不同的值时,需要定义带形参(无缺省值)的构造函数。如果需要定义动态数组,需要一个无参构造函数。对象数组例子#includeclasssamp{inta,b;public:samp(intn,intm){a=n;b=m;}intget_a(){returna;}intget_b(){returnb;}};对象数组例子(续)main(){sampob[4][2]={samp(1,2),samp(3,4),samp(5,6),samp(7,8),samp(9,10),samp(11,12),samp(13,14),sam

4、p(15,16),};inti;对象数组例子(续)for(i=0;i<4;i++){cout<

5、向下一个对象;当对象指针减少的时候,它指向前一个对象。对象指针的用法intmain(){Circlec1(3),*pc;//pc为指向圆形Circle类对象的指针pc=&c1;//将对象c1的地址赋给对象指针pc,使其指向圆形对象c1cout<GetArea()<

6、i<4;i++,sp++)sp->print();//指针加1后,指向下一个对象sp=sp-3;//指针减3后,指针向前移动三个对象sp->modify(87);sp->print();return0;}4.3this指针对象是由数据和操作构成的一个整体,即使同一类的不同对象的操作也是相互独立的,各占不同的内存空间。但是,在C++实现中,这种处理方案太浪费内存空间。同类的对象能否共享该类成员函数的同一个实例呢?myBirthday.set(31,12,1997);nationalDay.set(1.10,1949);voidDate::Set(intD

7、,intM,inty){day=D;month=M;year=Y;}那么,此时计算机怎么能区分该函数是作用在哪个对象上呢?解决方案C++在编译时,自动在每个成员函数中的第一个参数位置增加:X*constthis;当对象调用该函数时,编译器自动将该对象的指针作为实参传递给相应的函数,这样就可解决上述问题:voidDate::Set(Date*constthis,intD,intM,intY){this->day=D;this->month=M;this->year=Y;}注:程序员不能将this指针的说明写在函数中C的结构体struct与C++的stru

8、ct的比较C语言的结构体中数据与操作是分离的在C++语言中将数据与操作封装在一个结构体中str

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

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

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