- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 建立健全教育经费审计与监督机制实施路径.docx
- 矿山地质环境保护与治理恢复工程直接工程费估算表.xls
- 煤矿冲击地压防治技术课件.ppt VIP
- GB∕T 35770-2022《 合规管理体系 要求及使用指南》之1:“3术语和定义”解读和应用指导材料(雷泽佳编写2024B1)).docx VIP
- 医患沟通技巧.pptx VIP
- 消毒供应室下收下送的质量管理.doc VIP
- 2024年民主生活会个人对照检查材料3篇范文.docx VIP
- 2024年中国干细胞行业市场研究报告-前瞻产业研究院.docx
- 《电动自行车蓄电池充换电场(站)安全技术要求》.docx
- 广告牌改移拆移迁移拆除施工方案.docx VIP
文档评论(0)