- 1、本文档共127页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工作范文]第9章 关于类和对象的进一步讨论
《 C++程序设计》 第9章 关于类和对象的进一步讨论 9.1 构造函数 9.2 析构函数 9.3 调用构造函数和析构函数的顺序 9.4 对象数组 9.5 对象指针 9.6 共用数据的保护 9.1 构造函数 9.1.1 对象的初始化 9.1.2 构造函数的作用 9.1.3 带参数的构造函数 9.1.4 用参数初始化表对数据成员初始化 9.1.5 构造函数的重载 9.1.6 使用默认参数的构造函数 在建立一个对象时,常常需要进行初始化,即对数据成员赋初值。如果一个数据成员未被赋值,那么它的值是不可预知的,这显然与客观事物的属性不相符。 注意: 类的数据成员是不能在声明类时初始化的。 如果一个类中所有的数据成员都是公用的,则可以在定义对象时对数据成员进行初始化。 【例】 class Time { private: int hour; int minute; int sec; }; Time t1={14,56,30}; //将t1初始化为14:56:30 如果一个类中的数据成员是私有的,或者有private或protected的成员,就不能采用上节所述的初始化方法。为了解决这个问题,C++提供了构造函数(constructor)来处理对象的初始化。 构造函数是一种特殊的公有的成员函数。其特殊性为: ① 与其他成员函数不同,它不需要用户来调用,而是在建立对象时自动执行。 ② 构造函数的名字必须与类名同名,以便编译系统能识别它并把它作为构造函数处理。 ③ 构造函数不具有任何类型,没有返回值。它的功能是由用户定义,用户根据初始化的要求设计函数体和函数参数。 构造函数可在类内定义,也可以只在类内对构造函数进行声明而在类外定义构造函数。 【例9.1】 #include iostream using 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; } 有关构造函数使用的说明: ① 在类对象进入其作用域时调用构造函数。 ② 构造函数没有返回值,因此也不需要在定义构造函数时声明类型。 ③ 构造函数不需用户调用,也不能被用户调用。 ④ 在构造函数的函数体中不仅可以包含与初始化有关的内容,即对数据成员赋初值,也可以包含其他语句。但一般不提倡,以保持程序的清晰。 ⑤ 如果用户自己没有定义构造函数,则C++系统会自动生成一个构造函数,只是这个构造函数的函数体是空的,也没有参
您可能关注的文档
- [工作范文]健康教育演示文稿.ppt
- [工作范文]你不得不知道的店铺装修-演示文稿-v5-0723-.ppt
- [工作范文]儿科基础与保健.ppt
- [工作范文]全国测绘单位.doc
- [工作范文]公文写作与处理讲义.doc
- [工作范文]信息检索.ppt
- [工作范文]公文写作课件.ppt
- [工作范文]公文写作培训714.ppt
- [工作范文]公文处理培训班培训材料.doc
- [工作范文]农村远程教育试题.doc
- 基于2025年创新药物研发的罕见病药物研发政策环境展望报告.docx
- 2025年赛诺菲医药研发管线全球市场潜力深度挖掘报告.docx
- 核能储能熔盐储热交换系统项目创业计划书.docx
- 家居行业2025年线上线下融合模式创新与智能家居产业投资风险控制成果报告.docx
- 基于2025年卫星导航技术的农业种植精准化管理应用场景拓展分析报告.docx
- 基于2025年发展趋势的跨境物流多式联运模式优化与成本管理报告.docx
- 2025年能源互联网分布式能源交易与能源互联网市场发展趋势报告.docx
- 医疗大数据隐私保护技术在2025年医疗数据安全与隐私保护中的应用案例报告.docx
- 科技企业专利运营与知识产权战略规划与实施研究报告.docx
- 基于2025年合规科技,企业风险管理体系构建实践报告.docx
文档评论(0)