欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】国家二级(C++)机试模拟试卷171及答案解析.doc

    • 资源ID:1334623       资源大小:96KB        全文页数:16页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】国家二级(C++)机试模拟试卷171及答案解析.doc

    1、国家二级(C+)机试模拟试卷 171 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,属于非线性结构的是( )。(分数:2.00)A.循环队列B.带链队列C.二叉树D.带链栈2.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(分数:2.00)A.循环队列B.栈C.队列D.二叉树3.对于循环队列,下列叙述中正确的是( )。(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针4.算法的空间复杂度是指( )。(分数:2.00)

    2、A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数5.软件设计中划分模块的一个准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合6.下列选项中不属于结构化程序设计原则的是( )。(分数:2.00)A.可封装B.自顶向下C.模块化D.逐步求精7.软件详细设计产生的图如下: (分数:2.00)A.N-S 图B.PAD 图C.程序流程图D.E-R 图8.数据库管理系统是( )。(分数:2.00)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操

    3、作系统9.在 ER 图中,用来表示实体联系的图形是( )。(分数:2.00)A.椭圆形B.矩形C.菱形D.三角形10.有三个关系 R,S 和 T 如下: (分数:2.00)A.选择B.投影C.交D.并11.下列符号中可以用做 C+标识符的是( )。(分数:2.00)A._radiusB.foobarC.elseD.3room12.下列各组类型声明符中,含义相同的一组是( )。(分数:2.00)A.unsigned long int 和 longB.signed short int 和 shortC.unsigned short 和 shortD.short int 和 int13.必须用一对大

    4、括号括起来的程序段是( )。(分数:2.00)A.switch 语句中的 case 标号语B.if 语句的分支C.循环语句的循环体D.函数的函数体14.语句 int*p=&k;定义了指针 p,与这个语句等效的语句序列是( )。(分数:2.00)A.int*p;p=&k;B.int*p;p=k;C.int*p;*p=&k;D.int*p;*p=k;15.执行下列语句段后,输出字符“*”的个数是( )。 for(int i=50;i1;i-=2)coutoutput(); ptr-Print(); delete ptr; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.1

    5、BB.1DC.2BD.2D36.有如下程序: #include using namespace std; class B public: virtual void show()coutshow(); void fun2(B&ref)refshow(); void fun3(B b)bshow(); int main() B b,*p=new D: D d; fun1(p); fun2(b); fun3(d); delete p; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.BBBB.BBDC.DBBD.DBD37.C+中的模板包括( )。(分数:2.00)A.对象

    6、模板和函数模板B.对象模板和类模板C.函数模板和类模板D.变量模板和对象模板38.下列关于类模板的模板参数的叙述中,错误的是( )。(分数:2.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型39.下列关于 C+预定义流对象的叙述中,正确的是( )。(分数:2.00)A.cin 是 C+预定义的标准输入流对象B.cin 是 C+预定义的标准输入流类C.cout 是 C+预定义的标准输入流对象D.cout 是 C+预定义的标准输入流类40.有如下语句序列: char str10;cin

    7、str; 当从键盘输入“I love this game”时,str 中的字符串是( )。(分数:2.00)A.I love this gameB.I love thiC.I loveD.I二、基本操作题(总题数:1,分数:2.00)41.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj1 下的工程 proj1,该工程中包含程序文件maincpp,其中有类 Door(“门”)和主函数 main 的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 打开503 号门门是锁着的,打不开。 打开 503 号门的锁锁开了。 打开 50

    8、3 号门门打开了。 打开 503号门门是开着的,无须再开门。 锁上 503 号门先关门门锁上了。 注意:只修改每个“ERROR*found*”下的那一行,不要改动程序中的其他内容。 #includeiostream using namespaee std; class Door int num;门号 bool closed;true 表示门关着 bool locked;true 表示门锁着 public: Door(int num) ERROR*found* num=this-hum; closed=locked=true; bool isClosed()constreturn closed;

    9、 门关着时返回 true,否则返回 false bool isOpened()constreturn!closed; 门开着时返回 true,否则返回 false bool isLocked()constreturn locked; 门锁着时返回 true,否则返回 false bool isUnlocked()constreturn!locked; 门未锁时返回 true,否则返回 false void open() 开门 coutendl“打开“num“号门“; ERROR*found* if(closed) cout“门是开着的,无须再开门。“; else if(10cked) cout

    10、“门是锁着的,打不开。“; else closed=false: cout“门打开了。“; void dose() 关门 coutendl“关上“num“号门“; if(closed) cout“门是关着的,无须再关门。“; else closed=true: cout“门关上了。“; ERROR*found* void lock()const锁门 coutendl“锁上“num“号门“; if(locked) cout“门是锁着的,无须再锁门。“; else if(!dosed) cout“先关门“; closed=true; locked=true; cout“门锁上了。“; void u

    11、nlock() 开锁 toutendl“开“num“号门的锁“; if(!locked) cout“门没有上锁,无须再开锁。“; else locked=false; cout“锁开了。“; ; int main() Door door(503); dooropen(); doorunlock(); dooropen(); dooropen(); doorlock(); return 0; (分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.请使用 VC6 或使用【答题】菜单打开考生文件夹 pmj2 下的工程 proj2,此工程包含有一个源程序文件proj2cpp,其中定义了

    12、 Stack 类和 ArrayStaek 类。 Stack 是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack 为抽象类,它只定义了栈的用户接口,如下所示: 公有成员函数 功能 push 入栈:在栈顶位置添加一个元素 pop 退栈:取出并返回栈顶元素 ArmySmek 是 Stack 的派生类,它实现了 Stack 定义的接口。ArrayStack 内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize 表示的是栈的最大容量,top 用于记录栈顶的位置。成员函数 push 和 pop 分别实现具体的入栈和退栈操作。 请在程序中的横线处填写适当的代码,然后删除横

    13、线,以实现上述功能。此程序的正确输出结果应为: a,b,c c,b,a 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。 pmj2cpp #includeiostream using namespaee std class Stack public: virtual void push(char c)=0; virtual char pop()=0; ; class Arraystack:public Stack char*p; int maxSize; int top; public: Arraystack(int s) top=0; maxSi

    14、ze=s;*found*p=_; ArmyStack() *found*_;void push(char c) if(top = maxSize) cellr“Overflow!n“; returm; *found*_; top+; char pop() if(top=0) cerr“Underflow!n“; return 0; top-;*found*_; ; void f(Stack& sRef) char ch=a,b,c; coutch0“,“ch1“,“ch2endl; sRefpush(ch0);sRefpush(ch1);sRefpush(ch2); coutsRefpop()

    15、“,“; coutsRefpop()“,“; coutsRerpop()endl;int main() ArrayStack as(10); f(as); return 0; (分数:2.00)_四、综合应用题(总题数:1,分数:2.00)43.使用 VC6 打开考生文件夹 proj3 下的工程 pmj3,其中定义了一个字符串变量类 StringVar。类成员的说明在程序注释中。请在*333*和*666*之间填写StringVar 成员函数和友元函数的实现代码。在 main 函数中给出了一组测试数据,运行时输入: Hello Kitty 此情况下程序的输出应该是: Hello Kitty Bo

    16、rg Borg 注意:只需在*333*和*666*之间填入所编写的若干语句,不要改动程序中的其他内容。StringVarh#includeiostream#includecstdlib#includecstddef#includecstringusing namespace std;void writeToFile(const char*path);class StringVarpublic: StringVar(int size);构造函数,size 为字符串长度(字符个数)初始值;字符串内容初始化为空串 StringVar(const char a);构造函数,用参数数组 a 的内容初始化

    17、当前对象 StringVar(const StringVar&strobj);复制构造函数 StringVar()deletevalue;析构函数 int length()constreturn strlen(value); 从输入流 ins 输入一个字符串,其中可以包括空格 void input_line(istream&ins); 返回字符串首地址 char*getValue()constreturn value;private: char*value;字符串首地址 int max_length;字符串最大长度(字符个数最大值);将the_string 通过输出流 outs 输出 ostr

    18、eam&operator(ostream&outs,const StringVar the_string);maincpp#includeiostream#includestring#include“StringVarh“*333*666*int main() StringVar namel(30),name2(“Borg“); name1input_line(cin); StringVar name3(name2); coutname1endl: coutname2endl: coutname3endl: writeToFile(“); return 0;writeToFilecpp#inc

    19、ludeiostream#includefstream#includesstream#includestringusing namespace std;#include“StringVarh“void writeToFile(const char*path) char filename30; strcpy(filename,path); strcat(filename,“outdat“); ofstream fout(filename); istringstream is(string(“Jenny Zheng“); StringVar namel(40),name2(“John“);name

    20、linput_line(is); StringVar name3(name2); foutname1name2name3: foutclose();(分数:2.00)_国家二级(C+)机试模拟试卷 171 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,属于非线性结构的是( )。(分数:2.00)A.循环队列B.带链队列C.二叉树 D.带链栈解析:解析:树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。2.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(分数:2.00)A.循环队列B.栈 C.队列D.

    21、二叉树解析:解析:栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。3.对于循环队列,下列叙述中正确的是( )。(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针 解析:解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以队头指针有时可能大于队尾指针有时也可能小于队尾指针。4.算法的空间复杂度是指( )。(分数:2.00)A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程

    22、中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择 A。5.软件设计中划分模块的一个准则是( )。(分数:2.00)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析:一般较优秀的软件设计,应尽量傲到高内聚,低耦合,即减弱模块之间的耦合性和提高漠块内的内聚性,有利于提高模块的独立性。6.下列选项中不属于结构化程序设计原则的是( )。(分数:2.00)A.可封装 B.自顶向下C.模块化D.逐步求精解析:解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto 语句,所以选择 A。7.软件详细设计产生的

    23、图如下: (分数:2.00)A.N-S 图B.PAD 图C.程序流程图 D.E-R 图解析:解析:NS 图提出了用方框图来代替传统的程序流程图,所以 A 不对。PAD 图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,所以 B 不对。ER 图是数据库中的用于表示 ER 模型的图示工具,所以 D 不对。根据图中所示表示方法是进行软件详细设计时使用的程序流程图。8.数据库管理系统是( )。(分数:2.00)A.操作系统的一部分B.在操作系统支持下的系统软件 C.一种编译系统D.一种操作系统解析:解析:数据库管理系统是数据库的机构,它是一种系统软件,负

    24、责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上的系统软件。9.在 ER 图中,用来表示实体联系的图形是( )。(分数:2.00)A.椭圆形B.矩形C.菱形 D.三角形解析:解析:在 ER 图中实体集用矩形,属性用椭圆,联系用菱形。10.有三个关系 R,S 和 T 如下: (分数:2.00)A.选择B.投影C.交D.并 解析:解析:并关系 T 中包含了关系 R 与 S 中的所有元组,所以进行的是并的运算。11.下列符号中可以用做 C+标识符的是( )。(分数:2.00)A._radius B.foobarC.elseD.3room解析:解析:本题考查 C+标

    25、识符的命名规则,其规则有如下几点:所有标识符必须由字母、数字或下画线组成,且必须由字母或下画线开头;所有标识符不能使用 C+已有的关键字;大、小写字母表示不同意义,即代表不同的标识符。选项 B 包含了字符“”,选项 C 是关键字,选项 D 不能以数字开头。故答案为 A。12.下列各组类型声明符中,含义相同的一组是( )。(分数:2.00)A.unsigned long int 和 longB.signed short int 和 short C.unsigned short 和 shortD.short int 和 int解析:解析:本题考查整型变量的类型,A、C 选项中前者为无符号的,后者为

    26、有符号的,D 选项中 shon int 为 2 个字节,int 为 4 个字节。13.必须用一对大括号括起来的程序段是( )。(分数:2.00)A.switch 语句中的 case 标号语B.if 语句的分支C.循环语句的循环体D.函数的函数体 解析:解析:本题考查 C+基本控制结构,A、B、C 三个选项中的大括号不是必须的,而 D 选项中的函数体必须使用大括号。14.语句 int*p=&k;定义了指针 p,与这个语句等效的语句序列是( )。(分数:2.00)A.int*p;p=&k; B.int*p;p=k;C.int*p;*p=&k;D.int*p;*p=k;解析:解析:本题考查指针和地址

    27、,题目中定义了一个指向变量 k 的一个指针 p,那么与题目中等效的表达式 A 选项,即先定义一个指向整型的指针,然后指向 k 的地址。15.执行下列语句段后,输出字符“*”的个数是( )。 for(int i=50;i1;i-=2)coutoutput(); ptr-Print(); delete ptr; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.1BB.1D C.2BD.2D解析:解析:在某基类中声明为 vinual 并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个指向派生类对象的基类指针 ptr,执行 ptr-output 后,会执行基类的 o

    28、utput 函数,输出 1,由于Print 是虚函数,所以 ptr-Print()会执行派生类的 Print,即输出 D,所以本题答案为 B。36.有如下程序: #include using namespace std; class B public: virtual void show()coutshow(); void fun2(B&ref)refshow(); void fun3(B b)bshow(); int main() B b,*p=new D: D d; fun1(p); fun2(b); fun3(d); delete p; return 0; 执行这个程序的输出结果是( )

    29、。(分数:2.00)A.BBBB.BBDC.DBB D.DBD解析:解析:在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,本题中定义类B 的对象 b、对象指针木 p=new D 以及类 D 的对象 d;执行 fun1 会调用派生类的 show 函数,因为 show 函数为虚函数,而调用 fun2、fun3 仍然为基类的 show 函数,所以本题答案为 C。37.C+中的模板包括( )。(分数:2.00)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板 D.变量模板和对象模板解析:解析:本题考查函数模板和类模板,所以答案为 C。38.下列关于类模板的模

    30、板参数的叙述中,错误的是( )。(分数:2.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型 解析:解析:本题考查类模板的概念和定义模板参数可以作为成员函数的局部变量的类型。39.下列关于 C+预定义流对象的叙述中,正确的是( )。(分数:2.00)A.cin 是 C+预定义的标准输入流对象 B.cin 是 C+预定义的标准输入流类C.cout 是 C+预定义的标准输入流对象D.cout 是 C+预定义的标准输入流类解析:解析:cin 是 C+预定义的标准输入流对象,tout 是 C

    31、+预定义的标准输出流对象。40.有如下语句序列: char str10;cinstr; 当从键盘输入“I love this game”时,str 中的字符串是( )。(分数:2.00)A.I love this gameB.I love thiC.I loveD.I 解析:解析:cin 是 C+预定义的标准输入流对象,cin 用来接收字符串时,遇“空格”、“TAB”、“回车”时都会结束。所以本题答案为 D。二、基本操作题(总题数:1,分数:2.00)41.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj1 下的工程 proj1,该工程中包含程序文件maincpp,其中有类 Door

    32、(“门”)和主函数 main 的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 打开503 号门门是锁着的,打不开。 打开 503 号门的锁锁开了。 打开 503 号门门打开了。 打开 503号门门是开着的,无须再开门。 锁上 503 号门先关门门锁上了。 注意:只修改每个“ERROR*found*”下的那一行,不要改动程序中的其他内容。 #includeiostream using namespaee std; class Door int num;门号 bool closed;true 表示门关着 bool locked;tru

    33、e 表示门锁着 public: Door(int num) ERROR*found* num=this-hum; closed=locked=true; bool isClosed()constreturn closed; 门关着时返回 true,否则返回 false bool isOpened()constreturn!closed; 门开着时返回 true,否则返回 false bool isLocked()constreturn locked; 门锁着时返回 true,否则返回 false bool isUnlocked()constreturn!locked; 门未锁时返回 true,

    34、否则返回 false void open() 开门 coutendl“打开“num“号门“; ERROR*found* if(closed) cout“门是开着的,无须再开门。“; else if(10cked) cout“门是锁着的,打不开。“; else closed=false: cout“门打开了。“; void dose() 关门 coutendl“关上“num“号门“; if(closed) cout“门是关着的,无须再关门。“; else closed=true: cout“门关上了。“; ERROR*found* void lock()const锁门 coutendl“锁上“n

    35、um“号门“; if(locked) cout“门是锁着的,无须再锁门。“; else if(!dosed) cout“先关门“; closed=true; locked=true; cout“门锁上了。“; void unlock() 开锁 toutendl“开“num“号门的锁“; if(!locked) cout“门没有上锁,无须再开锁。“; else locked=false; cout“锁开了。“; ; int main() Door door(503); dooropen(); doorunlock(); dooropen(); dooropen(); doorlock(); re

    36、turn 0; (分数:2.00)_正确答案:(正确答案:(1)this-num=num; (2)if(!closed) (3)void lock()解析:解析:(1)主要考查考生对 this 指针的掌握,在构造函数中 this 指针指向的是当前类,因此要给num 赋值使用语句 this-num=num;完成。 (2)主要考查考生对 if 语句的掌握,先看类的私有成员中关于 closed 的定义:bool closed;true 表示门关着。再看下一条语句:cout“门是开着的,无须再开门。“;。即满足条件时就会输出:门是开着的,无须再开门。因此 if 括号内应该是!closed。 (3)主要

    37、考查考生对 const 函数的掌握,lock 函数体中存在语句 locked=true,即有参数发生改变,因此不能用 const。三、简单应用题(总题数:1,分数:2.00)42.请使用 VC6 或使用【答题】菜单打开考生文件夹 pmj2 下的工程 proj2,此工程包含有一个源程序文件proj2cpp,其中定义了 Stack 类和 ArrayStaek 类。 Stack 是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack 为抽象类,它只定义了栈的用户接口,如下所示: 公有成员函数 功能 push 入栈:在栈顶位置添加一个元素 pop 退栈:取出并返回栈顶元素 ArmySme

    38、k 是 Stack 的派生类,它实现了 Stack 定义的接口。ArrayStack 内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize 表示的是栈的最大容量,top 用于记录栈顶的位置。成员函数 push 和 pop 分别实现具体的入栈和退栈操作。 请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为: a,b,c c,b,a 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。 pmj2cpp #includeiostream using namespaee std class Stack p

    39、ublic: virtual void push(char c)=0; virtual char pop()=0; ; class Arraystack:public Stack char*p; int maxSize; int top; public: Arraystack(int s) top=0; maxSize=s;*found*p=_; ArmyStack() *found*_;void push(char c) if(top = maxSize) cellr“Overflow!n“; returm; *found*_; top+; char pop() if(top=0) cerr

    40、“Underflow!n“; return 0; top-;*found*_; ; void f(Stack& sRef) char ch=a,b,c; coutch0“,“ch1“,“ch2endl; sRefpush(ch0);sRefpush(ch1);sRefpush(ch2); coutsRefpop()“,“; coutsRefpop()“,“; coutsRerpop()endl;int main() ArrayStack as(10); f(as); return 0; (分数:2.00)_正确答案:(正确答案:(1)new chars (2)delete p (3)ptop=

    41、c (4)return ptop)解析:解析:(1)主要考查的是 ArrayStack 类的构造函数,在函数中要为 p 申请 s 个 char 型空间,应使用语句 p=new chars;。 (2)主要考查析构函数,使用 delete 语句释放指针,即 deletep;。 (3)主要考查 push 函数,top 表示栈顶元素下标,添加的数据放到栈顶,因此使用语句 ptop=c;。 (4)主要考查 pop 函数,输出栈顶数据,top 表示栈顶元素下标,因此使用语句 return ptop;。四、综合应用题(总题数:1,分数:2.00)43.使用 VC6 打开考生文件夹 proj3 下的工程 pm

    42、j3,其中定义了一个字符串变量类 StringVar。类成员的说明在程序注释中。请在*333*和*666*之间填写StringVar 成员函数和友元函数的实现代码。在 main 函数中给出了一组测试数据,运行时输入: Hello Kitty 此情况下程序的输出应该是: Hello Kitty Borg Borg 注意:只需在*333*和*666*之间填入所编写的若干语句,不要改动程序中的其他内容。StringVarh#includeiostream#includecstdlib#includecstddef#includecstringusing namespace std;void writ

    43、eToFile(const char*path);class StringVarpublic: StringVar(int size);构造函数,size 为字符串长度(字符个数)初始值;字符串内容初始化为空串 StringVar(const char a);构造函数,用参数数组 a 的内容初始化当前对象 StringVar(const StringVar&strobj);复制构造函数 StringVar()deletevalue;析构函数 int length()constreturn strlen(value); 从输入流 ins 输入一个字符串,其中可以包括空格 void input_l

    44、ine(istream&ins); 返回字符串首地址 char*getValue()constreturn value;private: char*value;字符串首地址 int max_length;字符串最大长度(字符个数最大值);将the_string 通过输出流 outs 输出 ostream&operator(ostream&outs,const StringVar the_string);maincpp#includeiostream#includestring#include“StringVarh“*333*666*int main() StringVar namel(30),n


    注意事项

    本文(【计算机类职业资格】国家二级(C++)机试模拟试卷171及答案解析.doc)为本站会员(lawfemale396)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开