77范文网 - 专业文章范例文档资料分享平台

2002级C++面向对象程序设计试题A-计算机学院2003冬天-参考答案

来源:网络收集 时间:2019-04-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2002级C++面向对象程序设计试题(A卷)

(满分:100分)

一、单项选择(每题1分,共10分)

1. D 2. D 3. B 4. C 5. C 6. B 7. B 8. A

9. A 答案可能有误,我认为应该是D 10. A

二、

1. 错误, private的成员不能被其派生类的成员函数访问。 2. 正确。

3. 错误,返回值类型不作为依据。

4. 错误,构造函数在私有或保护权限修饰下时是反例。

5. 错误, public继承方式下的基类类型的指针都可以指向其派生类对象。 6. 错误,可通过Base类中访问其x的方法见解访问到。 7. 正确。

8. 错误,继承方式中用virtual 修饰的是。

9. 错误,静态说明的对象初始化时,其构造函数的执行可能有结果输出。 10. 正确,顺序与列表顺序无关。

二、回答下列各题(共20分) 1.

继承方式\\访问权限 Public protected private Public 可访问,相当于public 可访问,相当于protected 可访问,相当于private Protected 可访问,相当于protected 可访问,相当于protected 可访问,相当于private private 不可访问 不可访问 不可访问 2. 不带参数的构造函数、拷贝构造函数、析构函数、赋值运算,还可以有相关的new、delete运算

等。

3. a1与a2的地址值是否相等。

4. 让A与B均从同一个类X派生,元素类型是X*或X&的树组可存放A及B的对象地址或引用。 5. 只能为成员函数的,如:赋值运算;只能为全局函数的,如:插入运算符<<;均可的,如:+运

算。

6. (1)基类中无不带参数的构造函数;(2)类中有常量成员;(3)类中有引用成员。

四、

(1) Derived& operator=(const Derived& aD)

{

Base::operator=(aD); y = aD.y; return *this;

}

(2) Derived(const Derived& aD)

{

operator=(aD); }

(3) const修饰符的作用是使实际参数既可以是变量,又可以是常量。使用引用的目的是避免拷贝,

避免无限递归循环调用。

(4) 有指针或引用类型的数据成员时。

五、 B::f B A D D::f ~D ~A ~B 六、

Number=3,7,10 Number=14,9,1 Sum=54 Sum=54

七、考查以虚函数形式定义的运算符重载,各类中实现相似,略。 class A { private: int va; public: A(int n):va(n) {} virtual int get_va(){return va;} virtual int get_vb(){return 0;} virtual int get_vc(){return 0;} virtual A& operator+(A& obj){va+=obj.get_va();return *this;}

void printf(){cout << get_va() <<','<

class B: public A { private: int vb; public: B(int n1,int n2):A(n1),vb(n2){} virtual int get_vb(){return vb;} virtual A& operator+(A& obj){ A::operator+(obj); vb+=obj.get_vb();return *this;} };

class C: public B { private: int vc; public: C(int n1,int n2,int n3):B(n1,n2),vc(n3){} virtual int get_vc(){return vc;} virtual A& operator+(A& obj){B::operator+(obj);vc+=obj.get_vc();return *this;} }; 八、

class D: public B1

{ public:

D(const &B2 aB2): m_B2(aB2); void func( ) const { f( ); m_b2.g( ); } private:

const B2& m_B2;

}; 九、

class Pair

{ public:

Pair(L*, R*);

R* getR( ) { reuturn aR; } L* getL( ) { return aL;} private:

R* aR; L* aL; };

class Dictionary {

public:

Dictionary( ) { lines=0; } void addARow(Pair * aPair)

{ //先查是否有重复的,代码类似下面getRBy,代码略 Rows[lines++] = aPair }

R* getRBy(L* aL)

{ R* pR;

int found = 0; int i = 0; while (!found)

{ if ( i >= line) break;

if (rows[i]->getL( ) == aL)

//或者if(rows[i]->getL( )->getVal( ) == aL->getVal( )

{ found = 1; pR = new R(*(rows[i]->getR( ))); } else i++;

}

if (found)

return pR;

else

return 0;

}

L* getLBy(R* aR){ 代码与上类似,略}

private:

Pair* Rows[200]; int lines;

};

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2002级C++面向对象程序设计试题A-计算机学院2003冬天-参考答案在线全文阅读。

2002级C++面向对象程序设计试题A-计算机学院2003冬天-参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/612256.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: