- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.1 构造函数
9.2 析构函数
9.3 调用构造函数和析构函数的顺序
9.4 对象数组
9.5 对象指针
9.6 共用数据的保护
9.7 对象的动态建立和释放
9.8 对象的赋值和复制
9.9 静态成员
9.10 友元
9.11 类模板
本章内容提要
9.1 构造函数
9.1.1 对象的初始化在建立一个对象时,常常需要作某些初始化的工
作,例如对数据成员赋初值。
类的数据成员是不能在声明类时初始化的。如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初始化。
class Time
{public: //声明为公用成员
hour;
minute;
sec;
}; Time t1={14,56,30}; //将t1初始化为14:56:30
2
9.1.2 构造函数的作用
C++提供了构造函数(constructor)来处理对象的初始化。
构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行。
构造函数的名字必须与类名同名
它不具有任何类型,不返回任何值。
3
9.1.2 构造函数的作用
例9.1设计钟,具有校正和报时功能,在构造函数初始化时间。
#include iostream
using namespace std;
class Clock // 声明钟类
{
public: //声明钟类构造函数,函数名与类名相同
Clock(void);
protected: // 钟的时
int nHour; int nMinute; int nSecond ;
public: // 校正
void Check(void); // 报时
void GiveTheCorrectTime(void);
};
4
9.1.2 构造函数的作用
// 校正
void Clock::Check(void)
{
cout校正钟,输入时、分和秒:;
cinnHournMinutenSecond;
}
// 报时
void Clock::GiveTheCorrectTime(void)
{
// 按时间格式输出钟的时、分和秒的值
cout北京时间 nHour:nMinute:nSecondendl;
}
int _tmain(int argc, _TCHAR* argv[])
{
Clock clock; //制造 1个钟clock
clock.GiveTheCorrectTime(); //钟clock报时
clock.Check(); //校正钟clock
clock.GiveTheCorrectTime(); //钟clock报时
Clock watche; //制造 1个表watche
watche.GiveTheCorrectTime(); //表watche报时
watche.Check(); //校正表watche
watche.GiveTheCorrectTime(); //表watche报时
return 0;
} //项目:A time signal clock
9.1.2 构造函数的作用
程序运行的情况为:
北京时间:1:3:8 //钟clock报时
1 6 8↙ //通过键盘校正钟clock的时间
北京时间:1:6:8 //钟clock报时
北京时间:1:3:8 //钟watche报时
6 6 8↙ //通过键盘校正表watche的时间
北京时间:6:6:8 //钟watche报时
构造函数使用说明
在类对象进入其作用域时调用构造函数。
构造函数没有返回值,因此也不需要在定义构造函数时声明类型
构造函数不需用户调用,也不能被用户调用
一般不提倡在构造函数中加入与初始化无关的内容
如果用户自己没有定义构造函数,则C++系统会自动生成一个构造函数,只是这个构造函数的函数体是空的,也没有参数,不执行初始化操作。
8
9.1.3 带参数的构造函数
构造函数首部的一般格式为
构造函数名(类型1 形参1, 类型2 形参2, …)
定义对象的一般格式为
类名 对象名(实参1, 实参2, …);
9
9.1.3 带参数的构造函数
例9.2 汽车和桌子的长、宽、高分别为:
(1)1,3,8;
(2)1,6,8。
求它们的体积。
编一个基于对象的程序,在类中用带参数的构造函数。
#include iostream
usin
您可能关注的文档
- 第九章 串行通信接口讲解.ppt
- 第九章 数据库安全性讲解.ppt
- 危险化学品安全管理剖析.ppt
- 第九章 2 液体讲解.ppt
- 危险化学品从业单位安全生产标准化评审管理办法剖析.doc
- 第九章 房地产信托与信托基金讲解.ppt
- 空分设备课件讲解.doc
- 空分仪表施工方案讲解.doc
- 把握议论文阅读教学的价值取向剖析.ppt
- 空港第一大道招标文件讲解.doc
- 流浪动物关爱在初中英语教学中的应用与实践教学研究课题报告.docx
- 《VOCs治理技术在印刷行业的环保设备研发与应用》教学研究课题报告.docx
- 消防工程师押题方案答案(3篇).docx
- 银发旅居产业未来展望:目的地网络建设与产业发展策略报告.docx
- 中学化学教师数字素养提升与在线社区化学实验创新研究教学研究课题报告.docx
- 2025年中国高档式袋柄热合机数据监测报告.docx
- 2025年半导体设备研发创新:技术路线与人才培养战略.docx
- 社交电商用户留存策略:2025年案例分析与实践指南.docx
- 2025年网吧连锁单店盈利提升实战案例与复制策略.docx
- 跨境电商物流成本分析报告:2025年行业成本控制与降本方案.docx
最近下载
- 小学奥数教师版(合辑)1-1-2-3 分数四则混合运算综合.pdf VIP
- 小学奥数合辑(学生用书)1-1-2-3 分数四则混合运算综合.pdf VIP
- 心电监护操作流程课件(PPT 34张).pptx VIP
- 高考数学三年真题(2023-2025年)《统计与概率》真题分类汇编含答案.docx VIP
- 高斯小学奥数五年级上册含答案_分数应用题.doc VIP
- 药食同源发酵项目可行性研究报告建议书新建申请备案案例范文解读.doc VIP
- 2024年广东省高考政治试卷(真题+答案).pdf VIP
- 小学数学 奥数思维《计算:小数的巧算》专项训练2(含解析).docx VIP
- 智慧城市排水防涝系统改造与优化创新研究.docx VIP
- 核心稳定性与核心力量训练.ppt
文档评论(0)