上海大学修订级C++试题_第1页
上海大学修订级C++试题_第2页
上海大学修订级C++试题_第3页
上海大学修订级C++试题_第4页
上海大学修订级C++试题_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海大学20142015学年度秋季学期试卷(A卷)成课程名:面向对象程序设计课程号:08305121学分:5应试人声明:我保证遵守上海大学学生手册中的上海大学考场规则,如有考试违纪、 作弊行为,愿意接受上海大学学生考试违纪、作弊行为界定及处分规定的纪律 处分。应试人 应试人学号 应试人所在院系题号 一 (20) 二 (30) 三(25)四(25)得分,-一、判断题(每小题2分,共20分)引用在声明时必须对其初始化,以绑定某个已经存在的变量(或对象),在该引用的生命期内,该绑定不能被更改。(V)指针变量在定义时必须对其初始化,以锁定某个已经存在的目标变量(或 TOC o 1-5 h z 对象),

2、在该指针变量的生命期内,该指向不能被更改。(X)值返回的函数(如:double sqrt(double);)的调用表达式(如:sqrt(2.0)代表一个无名的临时变量(或对象),一般不将其用作左值。(J)引用返回的函数,可以返回该函数中值传递的形参变量(或对象)。(X)任何类都有构造函数、复制构造函数、析构函数、赋值运算符函数。(J)有静态数据成员的类,一般地应该考虑为其设计复制构造函数、析构函数。(V)将用于输出的插入运算符函数operator设计成友元函数的根本原因是因为进行输出操作时需要访问对象的内部数据成员。(X)在C+程序中,操作符new的功能与calloc函数的功能完全一样。(X)

3、创建一个C+字符串对象(如:string str;),则sizeof (str)的值等于str.length()的值。其中成员函数length为返回字符串的长度。(X)基类的私有数据成员在派生类中是存在的,但不可直接访问,需要用从基类继承下来的函数访问。(V) 二、填空题(每空2分,共30分)如下设计了结点类Node、链表类查LinkList,并将链表类作为结点类的友类,请根据运行结果,完成程cout *p n t1 n t2 endl;delete p;cout 退出程序,返回操作系统 endl;return 0;2.以下两小题所涉及的类设计,头文件如下。/test.h#include #i

4、nclude using namespace std;class BASE(public:2.2(8 分)2.2(8分)测试程序 z1 n z2 endl;cout y.abs(): y.abs() endlz1 = x+y;z2 = x*y;cout z1 n z2 endl;Point a(1, 2), b(3, 4);cout a n b endl;cout a+b endl;return 0;#include test.h int main()Complex x(1, 2), y, z;运行结果(2.2)1+2iy = 5+x;z = 5*x;cout x n y n z endl;c

5、out x+x endl;Point a(1, 2), b, c;b = a + 1;c = 1 + a;cout a n b n c endl;a = a + a;cout a+a endl;return 0;查四、完成如下类的设计(25分)在GCC编译系统中,unsigned long long数据类型使整型数的取值范围得到扩展(0264 1,即018 446 744 073 709 551615)。为了进一步扩展非负整数的取值范围设计了如下的类。该类数据可精确计算 至2123,可处理3637位非负十进制整数。请在类的声明体外实现5个尚未定义的成 员函数或友元函数。最后写出程序的运行结果(

6、每个函数定义4分,运行结果5分)。/ LLINT.h头文件#ifndef LLINT_H#define LLINT_H#include using namespace std;class LLINT(public:LLINT(unsigned long long x0=0, unsigned long long x1=0);/第一参数为低位LLINT(const char *str);LLINT & operator+();LLINT operator+(int);friend LLINT operator+(const LLINT &x1, const LLINT &x2);LLINT &

7、operator+=(const LLINT &x);friendostream & operator(istream &in, LLINT &x);friendbooloperator (constLLINT&x1,constLLINT&x2);friendbooloperator=(constLLINT&x1,constLLINT&x2);friendbooloperator (constLLINT&x1,constLLINT&x2);friendbooloperator=(constLLINT&x1,constLLINT&x2);friendbooloperator=(constLLIN

8、T&x1,constLLINT&x2);friendbooloperator!=(constLLINT&x1,constLLINT&x2);protected:static const unsigned long long BBILLION;unsigned long long a1, a0;/a1*1 000 000 000 000 000 000 + a0可表示3637位十进制非负整数#endif/ LLINT.cpp源程序文件#include LLINT.h#include const unsigned long long LLINT:BBILLION = 100000000000000

9、0000ULL;/静态常量数据成员的定义及初始化(108)LLINT:LLINT(unsigned long long x0, unsigned long long x1)(/构造函数unsigned long long x = x0/BBILLION;a0 = x0 % BBILLION;al = x1 + x;LLINT:LLINT(const char *str) /转换构造函数(从C-字符串转换)(LLINT x;int i, j=0, n;unsigned long long p0=1,p1=1;ig return x;if (0=stri & stri=9), X 0 ,(、打8 寸S9 骸6 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论