枚举类型如何定义和使用
枚举类型的元素按常量处理,不能对它们进行赋值,其具有默认值,依次为:0,1,2,···
定义方法:
enum WeekDay {SUN, MON, TUE, WED, THU, FRI, SAT};
模板函数与函数模板的区别和联系(同2011)
区别
函数模板重点在于模板,其处理的数据类型是参数化的类型,函数模板本身在编译时不会生成任何目标代码。模板函数重点在于函数,编译器以函数模板为样板,生成了一个函数,这个函数就是模板函数,这个实例化的过程会生成目标代码。
联系
函数模板是数据类型参数化的函数定义,是一个函数族,代表了操作算法相同的一类函数,而模板函数则只是这个函数族中的一个具体函数。
为什么说"继承是C++面向对象的一个主要特征之一"(同2011)
继承是软件重用的一种形式,继承机制允许程序员在保持原有类特征的基础上,进行更具体、更详细的类的定义,以原有的类为基础产生新的类,提高了代码的重用性和可扩充性。通过继承可以充分利用别人做过一些类似的研究,和已有的一些分析、解决方案。进一步提高程序的抽象程度,同时虚函数的多态性也是在继承功能的基础之上展开的。
如何声明和使用虚函数,说明它在多态性中的作用和含义(同2011)
声明和使用
虚函数的声明语法是:
virtual 函数类型 函数名(参数表);
虚函数声明只能出现在类定义中的函数原型声明中,不能在成员函数实现的时候。
作用和含义
虚函数是运行时多态的一种实现方式,基类中的成员函数被定义为虚函数,派生类对相应的虚函数进行了重写,使用的时候,可以使用基类指针指向派生类对象,通过这个基类指针能够访问到派生类中重写的函数,这样,通过基类的指针就可以使属于不同派生类的不同对象产生不同的行为,从而实现运行时的多态。程序能够完成同样的消息被不同的类型的对象接收时导致不同的行为,能够用更加一般化的操作方式操作部分具体的对象。