网站大量收购闲置独家精品文档,联系QQ:2885784924

[工学]第2讲构造函数与析构函数.pdf

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第2讲构造函数与析构函数

2.2 构造函数与析构函数 学习内容 2.2.1 构造函数 –构造函数的定义 –构造函数的重载 –默认构造函数 –具有缺省参数的构造函数 2.2.2 析构函数 2.2.3 拷贝构造函数 2.2.4 一个类的对象作为另一个类的数据成员 2.2.5 利用初始化表对常量数据成员或引用成员提供初值 2.2.6 类作用域 2.2.1 构造函数 构造函数(constructor ) –是与类名同名的特殊的成员函数 构造函数的定义格式为: –类名(形参说明) –{ 函数体 } 构造函数调用时间: –当定义该类的对象时,构造函数将被自动调用 构造函数的含义: –实现对该对象的初始化 – 构造一个具有意义的正确对象 构造函数的特点 函数名和类名相同 无返回值 由系统自动调用,不允许直接调用 必须是公有(public)成员 可以重载 构造函数既可定义成有参函数,也可义成无参函 数,要根据问题的需要来定。 若没有定义构造函数,系统会定义一个默认的构造 函数: 类名(){} 但是若程序中提供了一个构造函数(不一定是无参 构造函数),则系统不再提供默认的构造函数 构造函数的例子 例子: 类person包括4个数据成员,用来记录人员信息。生 成对象obj,并使用构造函数为obj赋予初始值 # include iostream.h # include windows.h class Person //定义类 { private: //类Person的数据成员 char name [10] ; //姓名 int age ; //年龄 int salary ; //薪金 char tel[8]; // 电话 public: //构造函数Person Person ( char *xname, int xage,int xsalary, char *xtel ) ; void disp () ; }; // 函数Person的定义 Person :: Person ( char *xname,int xage, int xsalary, char *xtel ) { strcpy (name, xname) ; //给各数据成员提供初值 age = xage ; salary = xsalary ; Person obj (“张立三”, 25, strcpy (tel, xtel) ; 850,);中完成了 } 以下几个功能: // 函数disp的定义 1. 定义并生成了对象obj。 void Person::disp() 2. 在生成对象obj的同时,自动 { coutendl; 调用相应类的构造函数 cout 姓名: name endl ; Person cout 年龄: age endl ; 3. 将初始值“张立三”, 25, cout 工资: salary endl ; 850,传递给构造 cout 电话: tel endlendl ;} 函数Person相应的形参 // 主函数 xna

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档