收藏 分享(赏)

C++程序设计串讲04.ppt

上传人:j35w19 文档编号:8114530 上传时间:2019-06-09 格式:PPT 页数:13 大小:711.50KB
下载 相关 举报
C++程序设计串讲04.ppt_第1页
第1页 / 共13页
C++程序设计串讲04.ppt_第2页
第2页 / 共13页
C++程序设计串讲04.ppt_第3页
第3页 / 共13页
C++程序设计串讲04.ppt_第4页
第4页 / 共13页
C++程序设计串讲04.ppt_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、第四单元 类和对象,类和对象的性质,第四单元 类和对象,1、考试所占分值 22% 。 2、重点内容:(1)类的定义方法 (2)构造函数与赋值构造函数(3)析构函数(4)成员函数重载及默认参数,1.关键字private、protected、public的访问权限 2.类的对象使用规律:1)成员函数直接使用自己类的私有成员2)类外面的函数不能直接访问类的私有成员3)类外面的函数只能通过类的对象使用该类的公有成员函数4)对象A和B代码一样 ,但属性值不一样,一、类及其实例化,1.构造函数的作用、定义及使用方法1)特殊的成员函数,它与类名同名,实现对该对象的初始化2)既可以定义成有参函数,也可以定义成

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、 3. 类的性质四条,见教材P89 4. 对象、消息及类对象传递消息的三部分:接收对象名、调用操作名、必要的参数,三、类和对象的性质及UML图,1.嵌入指令:#include 2. 宏定义:#define 宏名 替换正文 删除宏定义:#undef 3. 条件编译指令 #if #else #elif #endif 4. Defined操作符,四、编译指令,1. 类的私有成员可在何处被访问( )A.本类的成员函数中 B.本类及子类的成员函数中C.通过对象名在任何位置 D.不可访问 【分析】成员函数直接使用自己类的数据成员和成员函数 【答案】A 2.类的构造函数在以下什么情况下会被自动调用( )A.

4、定义成员函数时 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属于全局变

5、量B只属于该类C属于该类,某些情况下也可被该类不同实例所共享D任何情况下都可被该类所有实例共享 【分析】变量的访问权限 【答案】C 6.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是( )AA类构造函数先执行 B成员构造函数先执行C两者并行执行 D不能确定 【分析】类的组合,描述的是一个类内嵌其他类的对象作为成员的情况,它们之间的关系是一种包含与被包含的关系。 【答案】B,历年真题剖析,在声明一个组合类的对象时,不仅它自身的构造函数将被调用,而且还将调用其内嵌对象的构造函数。这时构造函数的调用顺序是: (1)按照内嵌对象在组合类的声明中出现的次序,依次调用内嵌对象的构造函数;

6、(2)执行本类构造函数的函数体 析构函数的调用执行顺序与构造函数刚好相反。,7.在源程序中有宏定义:#define PI 3.14,则若不想使该宏定义影响到程序的其它 地方,可以使用_删除该宏定义。 【分析】 编译指令 【答案】#undef PI8.类和其它数据类型不同的是,组成这种类型的不仅可以有数据,还可以有对数 据进行操作的_。 【分析】 类的成员包含数据成员 【答案】成员函数(或函数),历年真题剖析,9.设在程序中使用如下语句申请了一个对象数组: Point * ptr = new Point2; 则在需要释放ptr指向的动态数组对象时,所使用的语句是。 【分析】 动态对象的建立:ne

7、w 删除:delete 【答案】delete ptr10 .下列关于析构函数的描述中正确的是( ) A.析构函数可以重载 B.析构函数可以是虚函数 C.析构函数名与类名相同 D.析构函数的返回类型为void 【分析】析构函数的性质 【答案】B,历年真题剖析,11.假定AB为一个类,则执行 “AB a(2), b3, *p4;”语句时共调用该类构造函数的次数为( ) A. 3 B. 4 C. 5 D. 9 【分析】 a(2):一个对象; b3:三个对象;*p4:指针数组 【答案】B,历年真题剖析,12 .改错题: class Point int X,Y; public: Point( )X=0;Y=0; Point(int x=0,int y=0)X=x;Y=y; void display( )coutX“,“Yendl; ;,历年真题剖析,【分析】构造函数中的二义性 【答案】Point(int x=0,int y=0)X=x;Y=y; /有二义性;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报