1、面向对象程序设计C+期末考试试卷(B)标准答案班级: 姓名: 学号: 分数: 题号一二三四总分得分一、单项选择题(每小题2分,共40分)1-5D A C A D 6-10D B C D C 11-15D C B D B 16-20A D C C C二、填空题(前16个空,每空1分,后2个空,每空2分,共20分)1 抽象 、 实例 2 public 、 private _ _、 protected 、 private _ _3 virtual _ 4 friend void fun(A &a) _5 静态数据成员 、 静态成员函数 6 结合性 、 优先级_ _7 Template 、 class
2、(或typename) 8 类 、 结构体 _9 在创建对象时初始化对象的数据成员 _10 A operator+(int) _三、阅读程序(共13分)1、a=89,b=56,c=122、12/31/2009 12/31/2009 1/1/2010 1/1/20103、constructing Aconstructing Bconstructing Cdestructing Cdestructing Bdestructing A四、编程题(共27分)1、(10分)Complex:Complex()real=0;imag=0;Complex:Complex(double r)real=r;Com
3、plex:Complex(double r,double i)real=r;imag=i;Complex operator+(Complex &c1,Complex &c2) Complex c; c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag; return c;ostream& operator (ostream& output,Complex& c) output(c.real+c.imagi) (istream& input,Complex& c) coutc.realc.imag; return input;2、(17分)class Ci
4、rcle:public Shapepublic: Circle(double r)radius=r; void set() coutPlease input the value of the circle:radius; void show() coutthe radius of the circle=radiusa=a; void set() coutPlease input the value of a:a; void show() couta=aendl; double area()return a*a;private: double a;int main()Circle C(5.5);C.show();Square S(9.9);S.show();Shape *s=&C,&S;couttotal=total(s,2)endl;return 0;第 4 页