- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C复习2
1. 类的概念。
2. 类和对象的关系、类的属性和对象状态的关系、类的成员函数和对象的方法的关系。3. 类和对象的定义方法。
⑴ 类的定义方法
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;
或
…
Student *ptr = new Student;
cout ptr-nTotalNum
13.静态成员函数的作用、定义和调用。
⑴ 作用实现不依据某个特定对象状态确定操作结果的类操作 ⑵ 定义:
使用修饰关键字static对成员函数进行声明,可以在类定义内或外定义函数实现代
码(注意,一般不在静态成员函数中访问类的非静态成员,如果必须调用,则非静
态成员的所属对象必须通过该静态成员函数的参数指定)。 class Student
{
…
static int nTotalNum;
static int GetTotalNum(){ return nTotalNum; }
…
};
⑶ 调用:
使用类名::静态成员函数名(实参表列)的调用表达式;或使用与访问非静态成员函数
相同的调用表达式:类对象名. 静态成员函数名(实参表列),
您可能关注的文档
- 74ls160构成n进制计数器应用.doc
- 79中实验教学管理经验.doc
- 7BUnit6课时练习5(Integratedskills&Studyskills).doc
- 7AUnit1第8课时.doc
- 7BUnit4词组.doc
- 7大新兴产业受益股全攻略.doc
- 7年炒股心得.doc
- 7、喷灌系统水力计算.ppt
- 7MATLAB语言程序设计.ppt
- 834园林植物应用.doc
- 机电技术教育设计基于UG下的钢丝包装机的虚拟装配.doc
- 机械设计制造及其自动化论文汽车火花点火系统电磁干扰的抑制方法.doc
- 机械设计制造及其自动化论文基于solidworks的轴承架模拟仿真.doc
- TGXSES0004-2023 土壤和沉积物 6种醚类化合物的测定 吹扫捕集 气相色谱-质谱法.pdf
- DB62T4735-2023 动物诊疗机构医疗废弃物处置技术规范.pdf
- TZS0344-2022 数字化无掩模激光直写光刻机.pdf
- 安徽省建设用地使用标准编制说明.pdf
- DB62T4492-2022 枸杞品种甘杞1号.pdf
- TSDSES-化工材料-再生环戊酮.pdf
- DB4403T涉河建设项目防洪评价和管理技术规范.pdf
文档评论(0)