- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计串讲04
第四单元 类和对象 本单元概览 类和 对象 成员函数重载及this指针 类和对象的性质 定义类及实例化 构造函数与析构函数 第四单元 类和对象 考 情 分 析 1、考试所占分值 22% 。 2、重点内容: (1)类的定义方法 (2)构造函数与赋值构造函数 (3)析构函数 (4)成员函数重载及默认参数 分 析 年 度 题 量 分 数 题 量 分 数 题 量 分 数 题 量 分 数 题 量 分 数 题 量 分 数 总 分 0810 8 8 3 3 3 6 2 8 0 0 0 0 25 0901 4 4 4 4 1 2 1 4 1 5 0 0 19 单 选 填 空 改 错 程序分析 完成程序 程序设计 1.关键字private、protected、public的访问权限 2.类的对象使用规律: 1)成员函数直接使用自己类的私有成员 2)类外面的函数不能直接访问类的私有成员 3)类外面的函数只能通过类的对象使用该类的公有成员函数 4)对象A和B代码一样 ,但属性值不一样 一、类及其实例化 1.构造函数的作用、定义及使用方法 1)特殊的成员函数,它与类名同名,实现对该对象的初始化 2)既可以定义成有参函数,也可以定义成无参函数 3)重载构造函数时,根据构造函数中的参数个数和类型选择合适的构造函数eg: Add(int a,int b) Add(float a,float b) 2.运算符 new 与delete 如果函数返回值作为另一个函数的参数,这个返回值必须与参数的类型一致。 3. 复制构造函数 4.析构函数 1)对象使用完毕后且在对象消失前,系统会自动调用类的析构函数来释放系 统资源,在类名的前面加上“~” 2)没有返回值,也没有参数。一个类中只能拥有一个析构函数,析构函数不 能重载。 二、构造函数、析构函数 1.This指针 保证每个对象拥有自己的数据成员,但其代码可以被共享 2. 对象的性质 六条,见教材P88 3. 类的性质 四条,见教材P89 4. 对象、消息及类 对象传递消息的三部分:接收对象名、调用操作名、必要的参数 三、类和对象的性质及UML图 1.嵌入指令:#include 2. 宏定义:#define 宏名 替换正文 删除宏定义:#undef 3. 条件编译指令 #if #else #elif #endif 4. Defined操作符 四、编译指令 1. 类的私有成员可在何处被访问( ) A.本类的成员函数中 B.本类及子类的成员函数中 C.通过对象名在任何位置 D.不可访问 【分析】成员函数直接使用自己类的数据成员和成员函数 【答案】A 2.类的构造函数在以下什么情况下会被自动调用( ) A.定义成员函数时 B.定义对象时 C.定义数据成员时 D.定义友元函数时 【分析】 构造函数是在产生对象的同时初始化对象的 【答案】B 历年真题剖析 3. 下列关于析构函数描述正确的是( ) A.可以重载 B.函数体中必须有delete语句 C.返回类型必须是void类型 D.不能指定返回类型 【分析】析构函数的特点 【答案】D 4.下列哪个编译指令属于条件编译指令( ) A.#include B.#define C.#else D.#pragma 【分析】条件编译指令: #if #else #elif #endif 【答案】C 历年真题剖析 5. 对类中声明的变量,下列描述中正确的是( ) A.属于全局变量 B.只属于该类 C.属于该类,某些情况下也可被该类不同实例所共享 D.任何情况下都可被该类所有实例共享 【分析】变量的访问权限 【答案】C 6.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是( ) A.A类构造函数先执行 B.成员构造函数先执行 C.两者并行执行 D.不能确定 【分析】类的组合,描述的是一个类内嵌其他类的对象作为成员的情况,它们之间的关系是一种包含与被包含的关系。 【答案】B 历年真题剖析 在声明一个组合类的对象时,不仅它自身的构造函数将被调用,而且还将调用其内嵌对象的构造函数。这时构造函数的调用顺序是: (1)按照内嵌对象在组合类的声明中出现的次序,依次调用内嵌对象的构造函数; (2)执行本类构造函数的函数体 析构函数的调
文档评论(0)