- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C程序教程第2版》教学素材PPT讲稿(教学课件)第10章类和对象
第 10 章 类和对象 ;10.1 类和对象的定义
10.1.1 从结构体到类;10.1.2 类和对象的定义形式;[例10.1] 定义描述一个人的类 Person
源程序文件名为person.h ; void GetName( char *n ) // 函数
{
strcpy(n, Name);
}
? char GetSex( ) // 函数
{
return Sex;
}
int GetAge( ) // 函数
{
return Age;
}
}; // 注意:类定义结束处的分号不能少
?;对象的定义:
类名 对象列表; ;10.1.3 对象成员的访问;10.1.4 成员函数的定义
例10.1,类体内定义成员函数。例10.2 ,类体外定义成员函数。;// 在类体外定义成员函数
void Person::SetData(char n[ ], char s, int a)
{
strcpy(Name, n);
Sex=s;
Age=a;
}
void Person::GetName( char *n )
{
strcpy(n, Name);
};续;例10.3 测试Person类
#include person.h //包含例10.1或例10.2中的头文件
void main( )
{
Person a, *pa;
char name[20];
a.SetData(Cheng, F, 20);
a.GetName(name);
cout Name: name endl;
cout Sex: a.GetSex( ) endl;
cout Age: a.GetAge( ) endl;; // Person a, *pa;
pa=a;
pa-SetData(Zhang, M, 18);
pa-GetName(name);
cout Name: name endl;
cout Sex: pa-GetSex( ) endl;
cout Age: pa-GetAge( ) endl;
};[例10.4] 定义并测试长方形类Crect,
长方形是由左上角坐标(left, top)
和右下角坐标(right, bottom)组成。;10.1.5 对象的存储空间;10.1.6 定义类和对象的有关说明;10.1.6 定义类和对象的有关说明(续);10.1.6 定义类和对象的有关说明(续);10.1.6 定义类和对象的有关说明(续);10.1.6 定义类和对象的有关说明(续);10.1.6 定义类和对象的有关说明(续);10.2 初始化对象、撤消对象;而对“类”类型的对象的私有成员,不可以这样初始化。;对“类”类型的对象的公有成员,可以这样初始化。;10.2.1 构造函数和析构函数
1.构造函数;(1) 构造函数是成员函数,函数体可写在类体内,
也可写在类体外。
(2) 构造函数是一种特殊的函数,其函数名与类名相同, 且不给出返回值类型。
(3) 构造函数可以重载,
即可以定义多个参数个数以及参数类型不同的
构造函数。
(4) 一般将构造函数定义为公有成员函数。
(5) 在创建对象时,系统自动调用构造函数。;(6) 不可以通过对象名调用构造函数
例如:d1.Date(2009) 是非法的。
(7) 可以直接通过构造函数名调用构造函数创建对象。
例如:d1 = Date(2009);
等号右边创建了一个对象(日期值是2009.5.1),并将它赋值给 d1。
又如:
Date d[4] =
{ Date( ), Date(2010), Date(2010, 10), Date(2010, 10, 6) }; ;2.析构函数;析构函数的特点如下:;析构函数的特点如下(续):;3.调用构造函数和析构函数的时机(对象的生存周期) ;(4)动态申请的对象 —— 使用 new 产生对象时,
系统自动调用构造函数;使用 delete 撤消对象时,
系统自动调用析构函数。 ;此程序运行结果是:
Constructor: 2008.4.4 //调用构造函数,产生d4对象
进入 main( )函数!
Constructor: 2008.1.1 // 调用构造函数,产生d1对象
进入 fun( )函数!
您可能关注的文档
最近下载
- 甘肃省庆阳市2024-2025学年八年级上学期语文期末试卷.docx
- 主动脉夹层诊断与治疗规范中国专家共识.pdf VIP
- 石油天然气开采行业安全生产知识培训课件.pptx
- 必修11:混合研究方法最新修改.pdf VIP
- 浅谈针织毛衫设计方法与实现.doc VIP
- 九成宫醴泉铭原版碑帖米字格(全).docx
- 2013年速编制现金流量表(自动生成).doc VIP
- 2025年黑龙江高中学业水平合格性考试英语试卷真题.pdf VIP
- ISO 9001(DIS)-2026《质量管理体系要求》中英文标准对照版(2025年9月).docx VIP
- ISO 9001(DIS)-2026《质量管理体系——要求》(含附录使用指南-中文版-译-2025年9月).docx VIP
原创力文档


文档评论(0)