- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.类的概念。
1. 类的概念。
类是抽象数据类型ADT的一种形式,它为用户定义新类型提供了手段。类是由一组按一定结构组织的数据,和建立在这组数据上的操作(方法)组成的。
2. 类和对象的关系、类的属性和对象状态的关系、类的成员函数和对象的方法的关系。
⑴ 类 —— 具有相同属性和行为的对象的建造模板;对象 —— 类的实例。
⑵ 类的属性 —— 是静态的,是存放对象状态的数据成员,同类对象的属性相同;
对象的状态 —— 是动态的,是静态属性和这些属性的动态值的总和,不同对象的状态不同。
⑶ 类的成员函数 —— 是静态的,是作用在属性上的操作描述;
对象的方法 —— 通过对象对类的公有成员函数的调用,使得由对象状态确定操作得以实现,为类对象的使用提供了方法。
3. 类和对象的定义方法。
⑴ 类的定义方法
class 类名
{
…
};
允许类的嵌套定义。class 类名1
{
…
class类名2
{
…
} 名;
…
};
⑵ 对象的定义方法
类名 对象名;
允许定义类的同时定义对象。class 类名
{
…
};
4. 类构造函数的作用、定义规则和调用。
⑴ 作用:
① 为对象的属性分配内存空间,使对象与类定义域相关联;
② 初始化对象属性的值。
⑵ 定义规则:
① 无返回值
② 函数名=类名
③ 允许重载(多构造函数)
④ 允许使用参数缺省值
⑤ 不允许是虚函数。
⑶ 调用:
类对象定义时,由系统调用。
5. 缺省构造函数和自定义构造函数的区别。
⑴ 缺省构造函数:
系统会为每一个类定义提供一个无参数、无初始化表和无初始代码的构造函数。⑵ 自定义构造函数:
用户为类添加参数的构造函数或初始化代码。⑶ 如果用户为类定义了一个构造函数(无论有无参数),缺省构造函数就自动。
6. 能定义对象数组的类的构造函数具有什麽特点。
必须一个在定义对象时无须传递参数的构造函数(无参数或所有参数均有缺省值)。
7. 拷贝构造函数的作用,何种情况下必须自定义拷贝构造函数。
⑴ 作用创建新对象,并将参数所引用对象的所有属性值复制到创建新对象的对应属性域中。
⑵ 自定义拷贝构造函数如果类对象的构造中需要动态分配内存空间,则必须自定义拷贝构造函数,防止同一内存空间被多个对象使用所引起。
8. 拷贝构造函数与类对象赋值运算符函数的关系。
⑴ 系统会为每一个类定义提供缺省拷贝构造函数和缺省类对象赋值运算符函数。
⑵ 如果拷贝构造函数自定义,则类对象赋值运算符函数也必须自定义。一旦自定
义了这两个函数,这两个函数的缺省版本就被覆盖。
⑶ 在属性值的复制操作上,拷贝构造函数和类对象赋值运算符函数是一致的不同拷贝构造函数复制操作赋值运算符函数复制操作拷贝构造函数无返回操作而赋值运算符函数必须返回复制操作目标对象。
9. 类析构函数的作用、定义规则和调用。
⑴ 作用:
释放对象属性所占用的内存空间和释放操作之前的必要操作。
⑵ 定义规则:
① 无返回值
② 函数名=~类名
③ 不可重载(只有一个析构函数)
④ 无参数
⑤ 可以是虚函数。
⑶ 调用对象撤消时,由系统调用。
10.缺省析构函数和自定义析构函数的区别。
⑴ 如果在释放类对象之前有必须要做的操作(例如释放对象构造时动态分配的内存
空间),则必须自定义析构函数;否则就可以使用缺省析构函数。
⑵ 析构函数一旦自定义,缺省析构函数自动。
11.类成员的分类和访问权限。
⑴ private 类成员可访问,类对象的使用者不可访问。
⑵ protected 类成员和派生类成员可访问,类对象的使用者不可访问。
⑶ public 类成员和类对象的使用者均可访问。
12.静态数据成员的作用、、和。
⑴ 作用定义同类所有对象共享的属性。
⑵ 使用修饰关键字static对属性进行声明。class Student
{
…
static int nTotalNum;
…
};
⑶ 初始化:
在类定义外、所有对象创建之前初始化、无须通过类对象进行赋值和使用。例如:
class Student
{
…
static int nTotalNum;
…
};
int Student::nTotalNum = 0; // 缺省初始值为0
使用类名::静态数据成员名的访问表达式;或与使用访问非静态数据成员相同的表
达式:类对象名.静态数据成员名,或类对象指针-静态数据成员名。推荐使用前者
进行访问。例如:
…
Student::nTotalNum++;
或者
…
Student stu1;
cout stu1.nTotalNum;
或
…
Stude
您可能关注的文档
最近下载
- 2025版土建水电预埋安装施工合同.docx VIP
- 2024年张家界航空工业职业技术学院单招职业技能测试题库(综合卷).docx VIP
- 500强企业表格模板原料进厂检验记录表(二).doc VIP
- 场内交通呢安全管理制度.pdf VIP
- GB50208-2011 地下防水工程质量验收规范.docx VIP
- (正式版)G-B 5768.3-2009 道路交通标志和标线 第3部分:道路交通标线.docx VIP
- 国有林场森林防火道路设计方案.docx
- D702-1~3:常用低压配电设备及灯具安装(2004年合订本).pdf VIP
- 初级经济师经济基础教材知识点.pdf VIP
- 最全的《国际医学会议交际英语(首都医科大学)》单元测试试题及考核答案.docx VIP
文档评论(0)