- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【例4-4】 构造函数例题。 #include iostream.h class date { private: int year, month, day; public: date( int y, int m, int d ); void print( ); }; date::date(int y, int m, int d ) { year = y; month = m; day = d; cout constructor called endl; } void date::print( ) { cout year . month . day endl; } void main( ) { date today(2001,8,11), tomorrow(2001,8,12); cout today is ; today.print( ); cout tomorrow is ; tomorrow.print( ); } 程序运行结果为 constructor called constructor called today is 2001.8.11 tomorrow is 2001.8.12 说明:本程序在date类中定义了一个带参数的构造函数。从运行结果可以看出,当主程序中声明两个date类的对象today和tomorrow时,构造函数被自动调用两次。由于该构造函数带有形参,故在对象声明时必须通过实参给出初始值。 每个类都必须有构造函数,若类定义时没有定义任何构造函数,编译器会自动生成一个不带参数的缺省构造函数,其形式如下: 类名 ::缺省构造函数名 ( ) { //... } 缺省构造函数名与类名相同。 4.6.2 拷贝构造函数 ? 我们常常希望用一个已有对象来构造同一类型的另一对象,这可以通过调用一种特殊的构造函数——拷贝构造函数来实现。 拷贝构造函数是重载构造函数的一种重要形式,它的功能是使用一个已经存在的对象去初始化一个新创建的同类的对象,它可以将一个已有对象的数据成员的值拷贝给正在创建的另一个同类的对象。 例如,已经有了一个date类的对象today,然后希望生成一个和它一样的对象workday,我们可用以下形式实现: date today(2001, 8, 11); date workday(today); 在创建对象workday时,系统调用拷贝构造函数,将对象today的每个数据成员的值都复制到workday中,使两者具有同样的值。 拷贝构造函数实际上也是构造函数,具有一般构造函数的所有特性,其名字也与所属类名相同。拷贝构造函数中只有一个参数,这个参数是对某个同类对象的引用。 定义拷贝构造函数的一般形式如下: class class_name { private: … public: class_name(形式参数表); class_name(class_name ob_name); … } class_name::class_name(class_name ob_name); { 函数体 } 例如,对前面定义的date类可以增添拷贝构造函数如下: class date { private: int year, month, day; public: date( int y, int m, int d ); //构造函数 date( date day); //拷贝构造函数 void print( ); } … date::date(date myday) { year = myday.year; month = myday.month; day = myday.day; } …
您可能关注的文档
最近下载
- 温室大棚初步设计(代可研).doc
- AQ2013.3-2008金属非金属地下矿山通风技术规范通风系统检测.pdf VIP
- AQ2013.4-2008 金属非金属地下矿山通风技术规范 通风管理.pdf VIP
- AQ2013.5-2008 金属非金属地下矿山通风技术规范 通风系统鉴定指标.pdf VIP
- AQ2013.1-2008金属非金属地下矿山通风技术规范-通风系统.pdf VIP
- 《新媒体文案写作》测试题5套及答案 .pdf VIP
- 南京下关滨江项目城市-设计-NBBJ.pdf VIP
- 公安机关招聘留置看护辅警考试公共基础与行政职业能力测试题库.docx
- 实验室暖通空调方案设计论文.ppt VIP
- 嘉兴南湖学院《概率论与数理统计2》2025-2026学年期末试卷(A卷).docx VIP
原创力文档


文档评论(0)