《C++面向对象程序设计》_谭浩强_第三章ppt课件.ppt

《C++面向对象程序设计》_谭浩强_第三章ppt课件.ppt

ID:58877332

大小:302.00 KB

页数:70页

时间:2020-09-30

《C++面向对象程序设计》_谭浩强_第三章ppt课件.ppt_第1页
《C++面向对象程序设计》_谭浩强_第三章ppt课件.ppt_第2页
《C++面向对象程序设计》_谭浩强_第三章ppt课件.ppt_第3页
《C++面向对象程序设计》_谭浩强_第三章ppt课件.ppt_第4页
《C++面向对象程序设计》_谭浩强_第三章ppt课件.ppt_第5页
资源描述:

《《C++面向对象程序设计》_谭浩强_第三章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、CPP_3C++语言设计第三章再论类和对象第一章C++的初步知识第二章类和对象第三章再论类和对象第四章运算符重载第五章继承与派生第六章多态性与虚函数第七章输入输出流第八章C++工具3.1构造函数3.2析构函数3.3调用构造函数和析构函数的顺序3.4对象数组3.5对象指针3.6共用数据的保护3.7对象的动态建立和释放3.8对象的赋值和复制3.9静态成员3.10友元3.11类模板3.1构造函数对象的初始化和普通变量一样,我们定义一个变量,往往同时进行初始化:inta=3;而声明类时,数据成员不能进行初始

2、化:classtime{inthour=0;intminute=0;intsecond=0;}因为类不是实体,不占分配存储空间,显然无法容纳数据。3.1构造函数如果一个类的所有数据成员都是公用的,我们可以象结构体变量那样,在定义对象时(而不是声明类时)进行初始化:classtime{public:inthour;intminute;intsecond;};timet1={13,30,20};但在类的声明中,数据成员往往都是私有的,不能这样初始化。就需要一个公有成员函数来完成,而且应该是自动调用地完成

3、。这就是构造函数。3.1构造函数构造函数的作用C++提供了构造函数(constructor)来处理对象的初始化。构造函数是一个由用户定义的特殊的成员函数。与其他成员函数不同之处在于:用户不能调用它,而是在定义对象时,由系统自动调用构造函数。构造函数的名字必须与类名一致,不能是其他名字。构造函数不能有任何返回类型。用户如果没有定义构造函数,系统会自动生成一个构造函数,只不过函数体中没有任何语句。3.1构造函数例3.1将前例的时间类定义构造函数。在构造函数中加入输出语句,看看运行效果。classtime

4、{private:inthour,minute,second;public:time()//time类的构造函数{hour=0;minute=0;second=0;}voidsetTime();voidshowTime(){cout<>hour;cout<<"minute=";cin>>minute;cout<<"second=";cin>>s

5、econd;}intmain(){timet1;//定义time类对象t1,调用构造函数time()t1.setTime();t1.showTime();timet2;//定义time类对象t2,调用构造函数time()t2.setTime();t2.showTime();return0;}3.1构造函数带参数的构造函数前一个示例中,没产生一个time类的对象,其初值都初始化为0。如果用户初始化时,不想将对象初值置为0而是其它值,就需要用带参数的构造函数来实现。声明一个构造函数的一般格式为:构造函数

6、名(类型1形参1,类型2形参2,…);定义一个对象的一般格式为:类名对象名(实参1,实参2,…);下面举例说明用法。3.1构造函数例3.2:有两个长方体,长宽高分别为(1,2,3)和(4,5,6)。试编写一基于对象的程序,分别求他们的体积,并且要求用带参数的构造函数初始化他们。#includeclassbox{private:intlength,width,height;public:box(intlen,intw,inth){length=len;width=w;heigh

7、t=h;}intvolume(){returnheight*width*length;}};voidmain(){boxbox1(1,2,3);cout<<“box1的体积为”<

8、例3.2我们改写成如下形式:#includeclassbox{private:intheight,width,length;public:box(intlen,intw,inth):length(len),width(w),height(h){}intvolume(){returnheight*width*length;}};voidmain(){boxbox1(1,2,3);cout<<“box1的体积为”<

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

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

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