员的唯一标识问题。虚基类的声明是在派生类的定义过程,其语法格式为:class派生类名:virtual继承方式基类名上述语句声明基类为派生类的虚基类,在多继承情况下,虚基类关键字的作用范围和继承方式关键字相同,只对紧跟其后的基类起作用。声明了虚基类之后,虚基类的成员在进一步派生过程中,和派生类一起维护一个内存数据拷贝。4、组合和继承有什么共同点和差异?
第八章
1、81什么叫做多态性在C中是如何实现多态的?解:多态是指同样的消息被不同类型的对象接收时导致完全不同的行为,是对类的特定成员函数的再抽象。C支持的多态有多种类型,重载包括函数重载和运算符重载和虚函数是其中主要的方式。
2、82什么叫做抽象类?抽象类有何作用?抽象类的派生类是否一定要给出纯虚函数的实现?解:带有纯虚函数的类是抽象类。抽象类的主要作用是通过它为一个类族建立一个公共的接口,使它们能够更有效地发挥多态特性。抽象类声明了一组派生类共同操作接口的通用语义,而接口的完整实现,即纯虚函数的函数体,要由派生类自己给出。但抽象类的派生类并非一定要给出纯虚函数的实现,如果派生类没有给出纯虚函数的实现,这个派生类仍然是一个抽象类。3、83在C中,能否声明虚构造函数?为什么?能否声明虚析构函数?有何用途?解:在C中,不能声明虚构造函数,多态是不同的对象对同一消息有不同的行为特性,虚函数作为运行过程中多态的基础,主要是针对对象的,而构造函数是在对象产生之前运行的,因此虚构造函数是没有意义的;可以声明虚析构函数,析构函数的功能是在该类对象消亡之前进行一些必要的清理工作,如果一个类的析构函数是虚函数,那么,由它派生而来的所有子类的析构函数也是虚函数。析构函数设置为虚函数之后,在使用指针引用时可以动态联编,实现运行时的多态,保证使用基类的指针就能够调用适当的析构函数针对不同的对象进行清理工作。
十二章
1、121什么叫做异常?什么叫做异常处理?解:当一个函数在执行的过程中出现了一些不平常的情况,或运行结果无法定义的情况,使得操
f作不得不被中断时,我们说出现了异常。异常通常是用throw关键字产生的一个对象,用来表明出现了一些意外的情况。我们在设计程序时,就要充分考虑到各种意外情况,并给与恰当的处理。这就是我们所说的异常处理。2、122C的异常处理机制有何优点?解:C的异常处理机制使得异常的引发和处理不必在同一函数中,这样底层的函数可以着重解决r