一、简答题 1. 什么是类?什么是对象?对象与类的关系是什么? 答:类就是相同的数据和相同的一组对象的集合,即类是对具有相同数据结构和相同操作的一类对象的描述; 对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体,对象可以认为是:数据+操作; 类和对象之间的关系是抽象和具体的关系。 2. 构造函数和析构函数的主要作用是什么?他们各有什么特性? 答:构造函数主要用于为对象分配空间,进行初始化。构造函数除了具有一般成员函数的特征外,还具有一些特殊的性质: (1)构造函数的名字必须与类名相同 (2)构造函数可以有任意类型的参数,但不能指定返回类型。它有隐含的返回值,该值由系统内部使用。 (3)构造函数是特殊的成员函数,函数体可写在类体内,也可写在类体外。 (4)构造函数可以重载,即一个类中可以定义多个参数个数或参数类型不同的构造函数。 (5)构造函数被声明为公有函数,但它不能像其他成员函数那样被显式地调用,它是在定义对象的同时被调用的。 析构函数也是一种特殊的成员函数。它执行与构造函数相反的操作,通常用于撤消对象时的一些清理任务,如释放分配给对象的内存空间等。析构函数有以下一些特点: (1)析构函数与构造函数名字相同,但它前面必须加一个波浪号(~); (2)析构函数没有参数,也没有返回值,而且不能重载。因此在一个类中只能有一个析构函数; (3)当撤消对象时,编译系统会自动地调用析构函数。 3. 有哪几种继承方式?每种方式的派生类对基类成员的继承性如何? 答:三种继承方式(公有public、保护protected、私有private);继承性可参见教材P143。 基类(父类)得私有成员,派生类(子类)都不能访问; 基类得公有成员,派生类得继承方式决定了其函数得形式! 基类得保护成员在派生类得公有继承中也是保护类型! 4. 简要叙述友元运算符函数和成员运算符函数有什么不同点? 答:(1)对双目运算符而言,成员运算符函数带有一个参数,而友元运算符函数带有两个参数;对单目运算符而言,成员运算符函数不带参数,而友元运算符函数带一个参数。 (2)双目运算符一般可以被重载为友元运算符函数或成员运算符函数,但某些情况,必须使用友元函数。 5. 派生类构造函数和析构函数的执行顺序是怎样的? 答:当创建对象时,编译系统会自动调用构造函数。当撤销对象时,编译系统会自动调用析构函数。当创建派生类的对象时,首先执行基类的构造函数,然后执行派生类的构造函...