C++第八次课讲课稿.ppt

C++第八次课讲课稿.ppt

ID:60849868

大小:309.50 KB

页数:46页

时间:2020-12-23

C++第八次课讲课稿.ppt_第1页
C++第八次课讲课稿.ppt_第2页
C++第八次课讲课稿.ppt_第3页
C++第八次课讲课稿.ppt_第4页
C++第八次课讲课稿.ppt_第5页
资源描述:

《C++第八次课讲课稿.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++第八次课例:设计并测试一个名为Rectangle的矩形类,其属性为矩形左下角和右上角两个点的坐标,能计算矩形面积。数据抽象:左下角坐标:intleftx,lefty右上角坐标:intrightx,righty行为抽象:计算矩形面积:Area()输入坐标值:Set()问题:如何输入坐标值?2ClassRectangle{private:intleftx,lefty,rightx,righty;public:voidArea();voidSet();};3voidRectangle::area(){intwidth=rightx-righty;intheight=right

2、y-rightx;return(width*height);}voidRectangle::set(){intrx,ry,lx,ly;cin>>rx>>ry>>lx>>ly;rightx=rx;righty=ry;leftx=lx;lefty=ly;}4voidmain(){intArea;RectanglemyRectangle;myRectangle.set();area=myRectangle.getArea();cout<<“Area:”<

3、74.3构造函数和析构函数就像声明基本类型变量时可以同时进行初始化一样,在声明对象的时候,也可以同时对它的数据成员赋初值。在声明对象的时候进行的数据成员设置,称为对象的初始化。对象数据成员的初始化需要通过类的特殊成员函数来进行。8在特定对象使用结束时,还经常需要进行一些清理工作。C++程序中的初始化和清理工作,分别由两个特殊的成员函数来完成,它们就是构造函数和析构函数。9构造函数和析构函数是在类体中说明的两种特殊的成员函数。构造函数的作用就是在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态。构造函数在对象被创建时被自动调用。10析构函数的功能是用来释放一个对象

4、的已分配空间,并可在对象被清除前,完成一些清理工作。析构函数在对象生存期即将结束时刻被自动调用。构造函数与析构函数的功能正好是对应的。11构造函数也是类的一个成员函数,除了具有一般成员函数的特征之外,还有一些特殊的性质:1、构造函数的函数名与类名相同,构造函数中的参数根据需要可有可无。2、不能为构造函数指定返回值类型,void也不可以。3、构造函数通常被声明为公有函数;4、构造函数在对象被创建的时候将被自动调用。(只要类中有了构造函数,编译器就会在建立新对象的地方自动插入对构造函数的调用代码。)12默认构造函数注意:如果类中没有写构造函数,编译器会自动生成一个默认形式的构造函

5、数—没有参数,也不做任何事情的构造函数。13classClock{public:voidSetTime(intNewH,intNewM,intNewS);voidShowTime();private:intHour,Minute,Second;};2021/8/2C++程序设计---类与对象14为什么要生成这个不做任何事情的函数呢?这是因为在建立对象时自动调用构造函数是C++程序“例行公事”的必然行为。classClock{public:Clock(intNewH,intNewM,intNewS);voidSetTime(intNewH,intNewM,intNewS);vo

6、idShowTime();private:intHour,Minute,Second;};2021/8/2C++程序设计---类与对象15构造函数的实现Clock::Clock(intNewH,intNewM,intNewS){Hour=NewH;Minute=NewM;Second=NewS;}16没有构造函数,对象的创建clockc;c.settime();c.showtime();c.settime(8,30,30);c.showtime();17有了构造函数,如何创建类对象?clockc(8,30,30,);c.showtime();创建类对象时,系统自动调用构造函数

7、,将实参值作为初始值。是否可以如此定义? clockc;c.showtime();18说明:类中定义了构造函数,系统不会生成默认构造函数。若定义的构造函数有参数,建立类对象时必须给出初始值,用来作为调用构造函数时的实参。构造函数可以直接访问类中所有数据成员。构造函数可以重载、内联、带默认形参值。19重载构造函数classclock{public:clock(intNewH,intNewM,intNewS);clock(){Hour=0;Minute=0;Second=0}voidSetTime(intN

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

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

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