概念填空题 1
1 C++支持两种多态性,分别是 编译时 和 运行时
2 在编译时就确定的函数调用称为 静态联编 ,它通过使用 函数重载,模板等 实现
3 在运行时才确定的函数调用称为 动态联编 ,它通过 虚函数 来实现
4 虚函数的声明方法是在函数原型前加上关键字 v irtu al
在基类中含有虚函数,在派生类中的函数没有显式写出virtual 关键字,系统依据以下规则判断派生类的这个函数是否是虚函数:该函数是否和基类的虚函数 同名 ;是否与基类的虚函数 参数个数相同、类型 ;是否与基类的虚函数 相同返回类型
如果满足上述 3 个条件,派生类的函数就是 虚函数
并且该函数 覆盖 基类的虚函数
5 当通过 引用 或 指针 使用虚函数时,C++会在与对象关联的派生类中正确的选择重定义的函数
实现了 运行时 时多态
而通过 对象 使用虚函数时,不能实现运行时时多态
6 纯虚函数是一种特别的虚函数,它没有函数的 函数体 部分,也没有为函数的功能提供实现的代码,它的实现版本必须由 派生类 给出,因此纯虚函数不能是 友元函数
拥有纯虚函数的类就是 抽象类 类,这种类不能 实例化
如果纯虚函数没有被重载,则派生类将继承此纯虚函数,即该派生类也是 抽象
7 类的构造函数 不可以 (可以/不可以)是虚函数,类的析构函数可以 (可以/不可以)是虚函数
当类中存 在动态内 存 分配 时经 常 将类的 析构函数 函数声明成 虚函数
2. 简 答 题 2
1 在C++中,能否声明虚构造函数
能否声明虚析构函数
2 什 么 是抽象类
抽象类有何 作 用
可以声明抽象类的对象吗
3 多态性和虚函数有何 作 用
4 是否使用了虚函数就能实现运行时的多态性
怎 样 才能实现运行时