《华南理工大学《面向对象程序设计C--》期末考试试卷.docx》由会员分享,可在线阅读,更多相关《华南理工大学《面向对象程序设计C--》期末考试试卷.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华南理工大学面向对象程序设计C-期末考试试卷 面向对象程序设计C+期末考试试卷 一、选择题(每小题3分,共48分。) 01、下列关于C+函数的叙述中,正确的是( C )。 A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值 C)函数在被调用之前必须先声明 D)函数不能自己调用自己 02、下列关于类和对象的叙述中,错误的是( A )。 A)一个类只能有一个对象 B)对象是类的具体实例 C)类是对某一类对象的抽象 D)类和对象的关系是一种数据类型与变量的关系 03、在C+中,用于实现运行时多态性的是( D )。 A)内联函数 B)重载函数 C)模板函数D)虚函数 04、下列关于运算符重载
2、的叙述中,正确的是( B )。 A)通过运算符重载,可以定义新的运算符 B)有的运算符只能作为成员函数重载 C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参 05、对于语句 coutfun(); 二、填空题(每空2分,共20分。) 17、面向对象程序设计有四个主要特点,即抽象、封装、_继承_和_多态性_。 18、非成员函数应声明为类的_友元_函数才能访问这个类的private成员。 19、派生类中的成员不能直接访问基类中的_私有_成员。 20、在用class定义一个类时,数据成员和成员函数的默认访问权限是_private_。 21、运算符重载函数可能是类的_
3、成员_函数,也可以是类的_友元_函数,还可以是普通函数。 22、用流对象的成员函数控制输出格式时,用于设置字段宽度的流成员函数的名称是width_,与之作用相同的控制符名称是_setw_。 23、含有纯虚函数的类称为_抽象类_。 三、程序的填空、程序的执行(每题4分,共20分。) 四、编程题(12分) 29、编写一个程序计算“三角形、正方形、圆形”三种图形的面积,要求: a)抽象出一个基类base;b)在其中说明一个虚函数用来求面积;c)利用派生类定义“三角形、正方形、圆形”;d)编写主函数并测试。 解:程序如下: #include using namespace std; class bas
4、e public: 华南理工大学 virtual float area() const return 0; ; class triangle: public base protected: float bian,height; public: triangle(float a=0, float h=0) bian=a; height=h; virtual float area() const return bian*height/2; ; class square: public base protected: float bian; public: square(float a=0) bia
5、n=a; virtual float area() const return bian*bian; ; 华南理工大学class circle: public base protected: float radius; public: circle(float r=0) radius=r; virtual float area() const return 3.14*radius*radius; ; int main() triangle t(3,4); square s(5); circle c(2); base *p; p=&t; couttriangles area:area()endl; p=&s; coutsquares area:area()endl; p=&c; coutcircles area:area()endl; return 0;