【计算机类职业资格】二级C++-61及答案解析.doc
《【计算机类职业资格】二级C++-61及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-61及答案解析.doc(4页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-61及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 proj1下的工程 proj1,此工程中含有一个源程序文件proj1.cpp。其中每个注释“/ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: smaller smaller smaller largest 注意:只修改注释“/ERROR *found*”的下一行语句,不要改动程序中的其他内容。 /proj1.cpp #include iostream using namespace s
2、td; const int Size =4; class MyClass public: MyClass(int x=0) :value(x) void Set(int x) value=x; friend void Judge(MyClass private: int value; ; / ERROR * found* voidMyClass:Judge(MyClass else cout “smaller“ endl; int main () MyClass * ptr =new MyClassSize; for(int i=0;i_二、B简单应用题/B(总题数:1,分数:30.00)2.
3、请使用 VC6或使用答题菜单打开考生文件夹 proj2下的工程 proj2,此工程中含有一个源程序文件proj2.cpp,其中定义了 MyString类。MyString 是一个用于表示字符串的类,其构造函数负责动态分配一个字符数组,并将形参指向的字符串复制到该数组中;成员函数 reverse的功能是对字符串进行反转操作,例如,字符串“ABCDE”经过反转操作后,会变为“EDCBA”;成员函数 print的作用是将字符串输出到屏幕上。 请在横线处填写适当的代码并删除横线,以实现 MyString类的功能。此程序的正确输出结果应为: Before reverse: abc defg After
4、reverse: cha gfed 注意:只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 /proj2.cpp #include iostream using namespace std; class MyString public: MyString (const char* s) /* found* m_str = new char_; strcpy (m_str, s) ; MyString () /* found* _; void reverse () int n = strlen(m str) ; for (int i=0; i n/2;
5、+i) int tmp = m_stri; /* found* m_stri = _; /* found* _; void print () cout m_str endl; /其他成员. private: char* m_str; ; int main(int argc, char * argv) MyString str1 (“abc“), str2 (“defg“); cout “Before reverse: /n“; str1.print (); str2.print (); str1.reverse (); str2.reverse (); cout “After reverse:
6、 /n“; str1.print (); str2.print (); return 0; (分数:30.00)_三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生文件夹 proj3下的工程文件 proj3。本题创建一个小型字符串类,字符串长度不超过 100。程序文件包括 proj3.h、proj3.cpp、writeToFile.obj。补充完成 proj3.h,重载+运算符。 要求: 补充编制的内容写在“/*333*”与“/*666*”之间,不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out.dat中。输出函数writeToFile已
7、经编译为 obj文件,并且在本程序中调用。 /proj3.h #include iostream #include iomanip using namespace std; class MiniString /+运算符重载 public: friendostream return output; friend istream /用于输入的临时数组 temp0 = /0; input setw (100) temp; int inLen = strlen(temp); /取输入字符串长度 if( inLen ! = O) s.length = inLen; /赋长度 if(s.sPtr! = 0
8、) delete s.sPtr; /避免内存泄 s.sPtr = new char s.length + 1; strcpy( s.sPtr, temp ); /如果 s不是空指针,则复制内容 else s.sPtr0 = /0; /如果 s是空指针,则为空字符串 return input; MiniString (const char * s = “): length(s!= 0)?strlen (s): 0)setString (s); MiniString() delete sPtr; /析构函数 /* 333* /+运算符重载 /* 666* MiniString (MiniStrin
9、g sPtr = new char s.length + 1; strcpy( sPtr, s.sPtr); private: int length; /字符串长度 char * sPtr; /指向字符串起始位置 void setString(const char * string2) /辅助函数 sPtr = new char strlen(string2) + 1; /分配内存 if ( string2!= 0) strcpy( sPtr, string2 ); /如果 string2不是空指针,则复制内容 else sPtr 0 = /0; /如果 string2是空指针,则为空字符串
10、; /proj3.cpp #include iostream #include iomanip using namespace std; #include “proj3.h“ int main () MiniString strl (“Hello!“), str2 (“World“); void writeToFile (char * ); MiniString temp = str1 + str2; /使用重载的+运算符 cout temp “/n“; writeToFile (“); return 0; (分数:40.00)_二级 C+-61答案解析(总分:100.00,做题时间:90 分
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C61 答案 解析 DOC
