《面向对象程序设计》 试卷B评分标准
一、判断题。(本题共10小题,每题 1分,满分10分)
1、√ 2、√ 3、× 4、√ 5、√ 6、× 7、√ 8.√ 9.√ 10.× 二、简答题。(本题共3小题,满分30分)
1、(10分)类的静态数据成员是类的数据成员的一种特例,采用static关键字来声明。对于类的普通数据成员,每一个类的对象都拥有一个拷贝,就是说每个对象的同名数据成员可以分别存储不同的数值,这也是保证对象拥有自身区别于其它对象的特征的需要,但是静态数据成员,每个类只要一个拷贝,由所有该类的对象共同维护和使用,这个共同维护、使用也就实现了同一类的不同对象之间的数据共享。 2、(10分)不同的继承方式,导致不同访问属性的基类成员在派生类中的访问属性也有所不同:公有继承,使得基类public(公有)和protected(保护)成员的访问属性在派生类中不变,而基类private(私有)成员不可访问。
私有继承,使得基类public(公有)和protected(保护)成员都以private(私有)成员身份出现在派生类中,而基类private(私有)成员不可访问。
保护继承中,基类public(公有)和protected(保护)成员都以protected(保护)成员身份出现在派生类中,而基类private(私有)成员不可访问。 3、(10分)带有纯虚函数的类是抽象类。抽象类的主要作用是通过它为一个类族建立一个公共的接口,使它们能够更有效地发挥多态特性。抽象类声明了一组派生类共同操作接口的通用语义,而接口的完整实现,即纯虚函数的函数体,要由派生类自己给出。但抽象类的派生类并非一定要给出纯虚函数的实现,如果派生类没有给出纯虚函数的实现,这个派生类仍然是一个抽象类。
三、阅读程序写出程序执行结果。(本题共3小题,满分30分)
1、(10分) x from main: 5 y from main: 7
x from myFunction: 5 y from myFunction: 10
Back from myFunction!
x from main: 5 y from main: 7 3、(10分)
The constructor is called
The copy constructor is called 4
The copy constructor is called 4
The constructor is called
The copy constructor is called 1 3、(10分)
The data of rect(x,y,w,h): 7,9,10,20
四、程序设计题。(本题共2小题,满分30分)
1、(满分15分) count++; count++; count--;
int Point::count = 0; Point A:1,2 Object count=1 Point A:1,2 Object count=2 2、(满分15分) #include
int abs(int x) { return x < 0 ? –x : x;}
double abs(double x) { return x < 0 ? –x : x; } int main() { int n = -5; double d = -5.5; cout << abs(n) << abs(d) << endl; cout<< abs2(n) << abs2(d) << endl; return 0; }