面向对象程序设计复习试题(答案)

word完美格式

private: int W,H; }

#include #include void main() {

Rectangle rect(1,2,3,4); rect.Move(5,6);

cout<<“The data of rect(X,Y,W,H):(“ <

< class Point {

public:

point(double a,double b,double c){_X =a; Y=b; Z =c;__} double Getx(){return X;} double Gety(){return Y;} double Getz(){return Z;} private:

__double X, Y;_____ protected:

__double Z;_____ };

class Line :_____public____Point {

public:

Line(double a ,double b,double c,double d)_:Point(a,b,c)_____{____K = d;___ } void show() {

cout<

cout<

private: double k; };

void main() {

Line obj(1.2,3.4,5.6,7.8);

精心整理 学习帮手

word完美格式

obj.show(); }

15、 类继承中,缺省的继承方式是__private___。

16、 当用protected继承从基类派生→个类时,基类的public成员成为派生类的__protected__成员,protected成员成为派生类的_____protected____成员。 18、 __公有派生__类的对象可作为____基___类的对象处理。

19、 指向基类的对象的指针变量也可以指向__公有派生类_的对象。 20、 类之间的”有”关系代表__组合___,”是”关系代表__继承__。

3.3简答题

A、派生类的定义及其特点

B、单继承和多继承的概念及其关系 C、继承方式的种类及其各自的特点

D、在继承中构造函数和析构函数的调用规则 F、赋值兼容原则

G、类模板和模板类的含义及其关系

3.4读程序题

1、 写出下列程序的运行结果。 #include class Base {

public:

void Who(){cout<<\};

class Derived1:public Base {

public:

void Who(){cout<<\};

class Derived2:public Base {

public:

void Who(){cout<<\};

void main() {

Base obj1,*p; Derived1 obj2; Derived2 obj3; p=&obj1;

精心整理 学习帮手

word完美格式

p->Who(); p=&obj2; p->Who(); p=&obj3; p->Who(); obj2.Who(); obj3.Who(); }

答案: class Base class Base class Base class Derived1 class Derived2

2、 写出下列程序的运行结果。 #include class instrument {

public:

void display() const{cout<<\};

class piano:public instrument {

public:

void display() const{cout<<\};

class guitar:public instrument {

public:

void display() const{cout<<\};

void tone(instrument & I) {

I.display(); };

void main() {

guitar guitar1; tone(guitar1); piano piano1; tone(piano1); }

精心整理 学习帮手

word完美格式

答案

instument::display. instument::display.

3、 写出下列程序的运行结果。 #include class A {

public:

A(char i){cout<<\ ~A(){cout<<\};

class B:virtual public A {

public:

B(char i,char j):A(i){b = j; cout<<\ ~B(){cout<<\private: char b; };

class C:virtual public A {

public:

C(char i,char j):A(i) {

cout<<\ }

~C(){cout<<\};

class D:public B,public C {

public:

D(char i,char j,char k,char s,char m,char n)

:C(k,s),B(i,j),A(i),aa(m){cout<<\ ~D(){cout<<\private: A aa; };

void main() {

D obj('a','b','c','d','e','f'); }

答案 : A's cons.a

精心整理 学习帮手

联系客服:779662525#qq.com(#替换为@)