云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 2007级计算机科学系程序设计a卷

2007级计算机科学系程序设计a卷

  • 62 次阅读
  • 3 次下载
  • 2025/6/6 8:29:26

virtual void show()

{ cout << \ cout << \ }

PERSON operator =(const PERSON& other)

{ cout << \ cout << \ strcpy(name, other.name); salary = other.salary; return *this; }

~PERSON()

{ cout << \ protected:

char name[MAXLEN+1]; int salary; };

class EMPLOYEE: public PERSON { //雇员类 public:

EMPLOYEE(char* name = \ { cout << \ virtual void show()

{ cout << \ cout << \ }

~EMPLOYEE()

{ cout << \};

class PROFESSOR: public EMPLOYEE { //教授类,每位教授都是一个雇员 public:

PROFESSOR(char* name = \

EMPLOYEE(name, salary), assistant(\设当前教授对象雇用名为NULL的助教 { cout << \ virtual void show()

{ cout << \ cout << \ }

void setAssistant(PERSON ass)//指定该教授的助教是谁 { assistant = ass; } ~PROFESSOR()

{ cout << \ protected:

PERSON assistant; // 每位教授都雇用了一名助教,助教是PERSON类的对象 };

void main()

{ PERSON * personPtr[3]; PERSON person; EMPLOYEE employee; PROFESSOR professor;

cout<<\//输出时只画一条直线即可, //不必计算输出多少个-号 personPtr[0] = &person; personPtr[1] = &employee; personPtr[2] = &professor;

for (int i = 0; i < 3; i++) personPtr[i]->show(); cout<<\ professor.setAssistant(person);

cout<<\}

五、 程序设计(24分)

1. (8分)类属类ARRAY描述一个动态数组。数组中的元素记录在一个长度为n的数组X中,要求X

根据使用时的实际长度n动态分配。ARRAY提供如下操作: ? 赋值运算(将一个ARRAY数组赋给另一个ARRAY数组);

? 以友元形式重载了运算符+实现两个ARRAY数组对应位置上的元素相加; ? 求该ARRAY数组的最大值。

5

ARRAY的用法如以下主程序所示。要求根据主程序中的应用,考虑ARRAY类应该提供什么功能,并给出ARRAY类界面的声明(类中声明了什么成员),不必提供ARRAY的类实现(不必定义类的成员函数)。

提示:定义该类属类的操作,使其可以实现主程序中使用到该类的功能。 void main() { }

ARRAY s1; // ARRAY类如此使用,考虑它是否是一个普通的类? ARRAY s3(10); // 10是数组长度 int max1; …… s3 = s1 + s3; max1 = s3.max();

2. (16分)设计一个词典类Dic,每个单词包括英文单词及对应的中文含义,提供构造这个词典的

操作,并有一个英汉翻译成员函数,通过查词典的方式将一段英语翻译成对应的汉语。 提示:

? 例如;要把英语“I am a student”翻译为中文“我是一个学生”,则应先在词典类中添

加(\一个\、(\我\、(\是\、(\学生\中英文单词对。 ? 可考虑使用以下库函数:

? char* strcpy(char* str1, const char* str2);

将str2指向的字符串复制到str1指向的位置中并返回str1。注意为str1分配的存储空间必须能放得下str2指向的字符串。

? int strcmp(const char* str1, const char* str2);

比较两个字符串str1和str2的内容是否相同(按字典排序方法)。如果str1小于str2则返回负数,str1等于str2则返回零,str1大于str2则返回正数。

要求:

1). 从文本文件in.data中读入要翻译的英语,例如“I am a student”; 2). 从文本文件dic.data中读入中英文单词对,建立词典类; 3). 将翻译结果,例如“我是一个学生”,输出到文本文件out.data; 4). 上述指定文件名不得更改; 5). 不考虑程序效率问题; 6). 请尽量多提供注释。

《完》

6

搜索更多关于: 2007级计算机科学系程序设计a卷 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

virtual void show() { cout << \ cout << \ } PERSON operator =(const PERSON& other) { cout << \ cout << \ strcpy(name, other.name); salary = other.salary; return *this; } ~PERSON() { cout << \ protected: char name[MAXLEN+1]; int salary; }; class EMPLOYE

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com