面向对象程序设计-总复习.ppt
文本预览下载声明
面向对象程序设计 总复习 第五章 知识要点 1. 掌握类与对象的概念和定义方法,掌握类成员的访问属性。 2. 掌握构造函数的概念、定义方法和使用方法。 3. 掌握析构函数的概念、定义方法和使用方法。 4. 掌握拷贝构造函数的概念、定义方法和使用方法。 5. 掌握静态成员的概念、定义方法、作用和特点。 6. 掌握友元的概念、定义方法、作用和特点。 1、对类的构造函数和析构函数描述正确的是( )。 A)? 构造函数可以重载,析构函数不能重载 B)? 构造函数不能重载,析构函数可以重载 C)? 构造函数可以重载,析构函数也可以重载 D)? 构造函数不能重载,析构函数也不能重载 2、类的析构函数的作用是( )。 A)一般成员函数 B)类的初始化 C)对象初始化 D)删除对象 假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )。 A)OneClass(OneClass p); B) OneClass (OneClass p); C) OneClass(OneClass p); D) OneClass (OneClass *p); 下面对于友元函数描述正确的是( )。 A)友元函数的实现必须在类的内部定义 B)友元函数是类的成员 C)友元函数破坏了类的封装性和隐藏性 D)友元函数不能访问类的私有成员 对于结构中定义的成员,其默认的访问权限为( )。 A)public B) protected C) private D) ststic 为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该当成员的访问权限定义为( )。 A)public B) protected C) private D) static 下面对静态数据成员的描述中,正确的是( )。 A)静态数据成员可以在类体内进行初始化 B)静态数据成员不可以在类体内进行初始化 C)静态数据成员不能受private控制符的作用 D)静态数据成员不可以直接用类名调用 下面对静态数据成员的描述中,正确的是( )。 A)静态数据成员是类的所有对象共享的数据 B)类的每一个对象都有自己的静态数据成员 C)类的不同对象有不同的静态数据成员值 D)静态数据成员不能通过类的对象调用 以下程序的功能是:利用友员函数为类的成员变量进行初始化,然后利用成员函数输出。请改正程序中的错误,使之能正确运行。 #includeiostream.h class A { int a,b; public: friend void setval(int i,int j); void showA() {couta,bendl; } }; void setval(int i,int j) {a=i; b=j;} void main() {A obj1; setval(2,3); obj1.showA(); } 第六章 6.1 对象指针和对象引用 指向数据成员的指针 定义格式:类型 类名::*指针名 指向成员函数的指针 定义格式:类型(类名::*指针名)(参数表) 对象指针作函数参数 好处1:作为传址调用,可在被调用函数中改变调用函数的参数对象的值,实现函数间信息传递。 好处2:仅将对象的地址值传给形参,而不进行副本的拷贝,提高运行效率,减少时空开销。 对象引用作函数参数 对象引用为形参时,对应实参应为对象名。 该方法除了具有对象指针作函数参数的优点外,还更简单更直接,应用更广; this指针 该指针是隐含于每一个类的成员函数中的特殊指针; 该指针指向正在操作某个成员函数的对象; 6.2对象数组和对象指针数组 对象数组 对象数组的赋值 指向数组的指针 指针数组 6.3 常类型 一般常量 对象常量 常指针 常引用 常成员函数 常数据成员 什么是子对象、子对象的初始化 什么是堆对象、堆对象的创建和删除 堆对象数组的创建和删除 类型转换 类型的自动转换 类型的强制转换 单参数构造函数转换 类型转换函数 函数模板和模板函数 类模板和模板类 第七章 派生类的定义、三种继承方式 单继承和多继承的概念 派生类的构造函数和析构函数 多继承的二义性问题 什么是虚基类,作用,含有虚基类的派生类的构造函数 下列对派生类的描述中,错误的是( )。 A)???? 一个派生类可以作为另一个派生类的基类 B)???? 派生类至少有一个基类 C)???? 派生类的缺省继承方式是private D)???? 派生类只继承了基类的公有成员和保护成员 设置虚函数的声明中,正确的是( )。
显示全部