【计算机类职业资格】二级C++分类模拟138及答案解析.doc
《【计算机类职业资格】二级C++分类模拟138及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟138及答案解析.doc(8页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 138 及答案解析(总分:100.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.请使用 VC6 或使用【答题】菜单打开 proj1 下的工程 proj1,其中在编辑窗口内显示的主程序文件中定义有类 AAA 和主函数 main。程序文本中位于每行“/ ERROR *found*”下面的一行有错误,请加以改正。改正后程序的输出结果应该是: sum=60 注意:只修改每个“/ ERROR *found*”下面的一行,不要改动程序中的其他任何内容。 #include iostream using namespace std; class AAA in
2、t a10; int n; /ERROR *found* private: AAA (int aa , int nn): n(nn) /ERROR *found* for (int i = 0; i n; i+) aai=ai; int Geta (int i) return ai; ; int main() int a6 = 2,5,8,10,15,20; AAA x(a,6); int sum = 0; /ERROR *found* for (int i=0; i6; i+) sum+=x.ai; cout “sum =“ sum endl; return 0; (分数:30.00)_二、
3、简单应用题(总题数:1,分数:30.00)2.请使用 VC6 或使用【答题】菜单打开 proj2 下的工程 proj2,该工程中含有一个源程序文件proj2.cpp。其中定义了类 Set 和用于测试该类的主函数 main。类 Set 是一个用于描述字符集合的类,在该字符集合中,元素不能重复(将“a”和“A”视为不同元素),元素最大个数为 100。为该类实现一个构造函数 Set(char * s),它用一个字符串来构造一个集合对象,当字符串中出现重复字符时,只放入一个字符。此外,还要为该类实现另一个成员函数 InSet(char c),用于测试一个字符 c 是否在一个集合中,若在,则返回 tru
4、e;否则返回 false。 构造函数 Set 和成员函数 InSet 的部分实现代码已在文件 proj2.cpp 中给出,请在标有注释“/ TODO:”的行中添加适当的代码,将这两个函数补充完整,以实现其功能。 提示:在实现构造函数时,可以调用 InSet 函数来判断一个字符是否已经在集合中。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/ *found*”。 /proj2.cpp #include iostream using namespace std; const int MAXNUM = 100; class Set private: int num;
5、/元素个数 char setdataMAXNUM; /字符数组,用于存储集合元素 public: Set(char *s); /构造函数,用字符串 s 构造一个集合对象 bool InSet(char c); /判断一个字符 c 是否在集合中,若在,返回 true,否则返回 false void Print() const; /输出集合中所有元素 ; Set:Set(char * s) num = 0; while (* s) / *found* if (_) /TODO:添加代码,测试元素在集合中不存在 / *found* _; /TODO:添加一条语句,加入元素至集合中 s+; bool
6、Set:InSet (char c) for (int i = 0; i num; i+) / *found* if (_) /TODO:添加代码,测试元素 c 是否与集合中某元素相同 / *found* _; /TODO:添加一条语句,进行相应处理 return false; void Set:Print () const cout “Set elements:“ endl; for(int i = 0; i num; i+) cout setdatai “; cout endl; int main() char sMAXNUM; cin.getline (s, MAXNUM - 1); /
7、从标准输入中读入一行 Set setobj(s); /构造对象 setobj setobj.Print(); /显示对象 setobj 中内容 return 0; (分数:30.00)_三、综合应用题(总题数:1,分数:40.00)3.请使用 VC6 或使用【答题】菜单打开 proj3 下的工程 proj3,其中声明了 MiniComplex 是一个用于表示复数的类。请编写这个 operator+运算符函数,以实现复数的求和运算。两个复数的和是指这样一个复数:其实部等于两个复数的实部之和,其虚部等于两个复数的虚部之和。例如,(23+34i)+(56+35i)等于(79+69i)。 要求: 补充
8、编制的内容写在“/ *333*”与“/ *666*”之间,不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out.dat 中。输出函数 writeToFile 已经编译为 obj 文件,并且在本程序中调用。 /Minicomplex.h #include iostream using namespace std; class MiniComplex /复数类 public: friend ostream return osObject; friend istream isObject complex, realPart ch complex.imagPart ch; return i
9、sObject; MiniComplex (double real = 0, double imag = 0); /构造函数 MiniComplex operator + (const MiniComplex /重载运算符+ private: double realPart; /存储实部变量 double imagPart; /存储虚部变量 ; void writeToFile(char *); /main.cpp #include “MiniComplex.h“ MiniComplex:MiniComplex (double real, double imag)realPart=real;i
10、magPart=imag; MiniComplex MiniComplex:operator+(const MiniComplex MiniComplex num1 (23,34),num2 (56,35); cout “Initial Value of Num1 =“ num1 “/nInitial Value of Num2 =“ num2 endl; cout num1 “+“ num2 “=“ num1 + num2 endl; /使用重载的加号运算符 writeToFile (“ “); return 0; (分数:40.00)_二级 C+分类模拟 138 答案解析(总分:100.0
11、0,做题时间:90 分钟)一、基本操作题(总题数:1,分数:30.00)1.请使用 VC6 或使用【答题】菜单打开 proj1 下的工程 proj1,其中在编辑窗口内显示的主程序文件中定义有类 AAA 和主函数 main。程序文本中位于每行“/ ERROR *found*”下面的一行有错误,请加以改正。改正后程序的输出结果应该是: sum=60 注意:只修改每个“/ ERROR *found*”下面的一行,不要改动程序中的其他任何内容。 #include iostream using namespace std; class AAA int a10; int n; /ERROR *found*
12、 private: AAA (int aa , int nn): n(nn) /ERROR *found* for (int i = 0; i n; i+) aai=ai; int Geta (int i) return ai; ; int main() int a6 = 2,5,8,10,15,20; AAA x(a,6); int sum = 0; /ERROR *found* for (int i=0; i6; i+) sum+=x.ai; cout “sum =“ sum endl; return 0; (分数:30.00)_正确答案:()解析:(1)public: (2)for(in
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 138 答案 解析 DOC
