华中科技大学讨论生课程考试试卷课程名称: 课程类别 考核形式学生类别______________考试日期______________ 院系_______________学号__________________姓名__________________任课老师___________________一、填空(共 15 分,每空 1 分)1、编译时的多态性通过__重载 _ _函数实现。2、面对对象的四个基本特性是 抽象 、 多态 、 继承 和 封装 。3、假定 AB 为一个类,则执行“AB a(10), *b=&a, &p=a;”语句时调用该类构造函数的次数为 2 。4、C++类成员访问属性 public 、 private 、 protected 三种类型。 5、非成员函数应声明为类的__ 友元 ___ 函数才能访问这个类的 private 成员。6、。要实现动态联编必须通过对象指针或引用来调用_ 虚函数 _ 实现。7、类 B 是由类 A 以保护方式派生的,则类 A 中私有访问属性的数据成员在类 B 中的访问属性为 不可访问 。8、+、=、[]、->等四种运算符中,可采纳友元函数重载的运算符是 + 。9、抽象类是指具有 纯虚函数 的类,它只能作为 基类 来使用。□ 公共课 □ 专业课 □ 开卷 □ 闭卷 面对对象程序设计√√杨卫东、左峥嵘2025 年 1 月 9 日二、问答题(共 30 分,每小题 6 分)1.简述运算符重载的实现方式有哪几种?给出对应的声明语法形式。答案: (1)类外定义的运算符重载函数格式为:friend <返回类型> operator (<类型> 参数 1,<类型> 参数 2){ <函数体> }(2)成员运算符重载函数<返回类型> <类名>::operator (<类型> 参数){ <函数体> }2.什么是多继承?多继承时,构造函数和析构函数执行顺序是怎样的?答案:多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。派生类构造函数的执行顺序是先执行所有基类的构造函数(顺序根据定义派生类时指定的各基类顺序),再执行派生类的构造函数,析构函数执行顺序,与构造函数完全相反。3.写出下面程序的运行结果#include #include using namespace std;class Person{public: Person(char *nam,int ag) { strcpy(name,nam); age = ag; cout<<"Person 类构造函数---"<