- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                C构造函数详解
                    C++提供了构造函数(constructor)来处理对象的初始化。构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行。构造函数的名字必须与类名同名,而不能由用户任意命名,以便编译系统能识别它并把它作为构造函数处理。它不具有任何类型,不返回任何值。构造函数的功能是由用户定义的,用户根据初始化的要求设计函数体和函数参数。例9.1类内定义构造成员函数,不带参数#include iostreamusing namespace std;class Time{public:Time( )             //定义构造成员函数,函数名与类名相同{hour=0;             //利用构造函数对对象中的数据成初值minute=0;sec=0;}void set_time( );           //函数声明void show_time( );          //函数声明private:int hour;                  //私有数据成员int minute;int sec;};void Time∷set_time()        //定义成员函数,向数据成员赋值{cinhour;cinminute;cinsec;}void Time∷show_time( )         //定义成员函数,输出数据成员的值{couthour″:″minute″:″secendl;}int main( ){Time t1;                   //建立对象t1,同时调用构造函数t1.Time( )t1.set_time( );             //对t1的数据成员赋值t1.show_time( );            //显示t1的数据成员的值 Time t2;                   //建立对象t2,同时调用构造函数t2.Time( )t2.show_time( );            //显示t2的数据成员的值return 0;}例9.2类内声明,类外定义带参数构造函数。有两个长方柱,其长、宽、高分别为: (1)12,20,25;(2)10,14,20。求它们的体积。#include iostreamusing namespace std;class Box{public:Box(int,int,int);        //声明带参数的构造函数int volume( );            //声明计算体积的函数private:int height;int width;int length;};Box∷Box(inth,intw,intlen)   //在类外定义带参数的构造函数{height=h;width=w;length=len;}int Box∷volume( )                //定义计算体积的函数{return(height*width*length);}int main( ){Box box1(12,25,30);           //建立对象box1,并指定box1长、宽、高的值cout″The volume of box1 is ″box1.volume( )endl;Box box2(15,30,21);           //建立对象box2,并指定box2长、宽、高的值cout″The volume of box2 is ″box2.volume( )endl;return 0;}例9.3 构造函数的重载,参数列表化初始化变量。在例9.2的基础上,定义两个构造函数,其中一个无参数,一个有参数。#include iostreamusing namespace std;class Box{public:Box( );                //声明一个无参的构造函数Box(inth,intw,intlen):height(h),width(w),length(len){}//声明一个有参的构造函数,用参数的初始化表对数据成员初始化int volume( );private:int height;int width;int length;};Box∷Box( )               //定义一个无参的构造函数{height=10;width=10;length=10;}int Box∷volume( ){return(height*width*length);}int main( ){Box box1;                    //建立对象box1,不指定实参cout″The volume of box1 is ″box1.volume( )en
                 原创力文档
原创力文档 
                         
                                    

文档评论(0)