首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹proj3下的工程proj3,其中定义了一个字符串变量类StringVar。类成员的说明在程序注释中。请在//********333********和********666********之间填写StringVar成员函数和友元函数
使用VC6打开考生文件夹proj3下的工程proj3,其中定义了一个字符串变量类StringVar。类成员的说明在程序注释中。请在//********333********和********666********之间填写StringVar成员函数和友元函数
admin
2017-02-21
25
问题
使用VC6打开考生文件夹proj3下的工程proj3,其中定义了一个字符串变量类StringVar。类成员的说明在程序注释中。请在//********333********和********666********之间填写StringVar成员函数和友元函数的实现代码。在main函数中给出了一组测试数据,运行时输入:
Hello Kitty
此情况下程序的输出应该是:
Hello Kitty
Borg
Borg
注意:只需在//********333********和//********666********之间填入所编写的若干语句,不要改动程序中的其他内容。
//StringVar.h
#include<iostream>
#include<cstdlib>
#include<cstddef>
#include<cstring>
using namespace std;
void writeToFile(const char *
path);
class StringVar
{
public:
StringVar(int size);//构造函数,size为字符串长度(字符个数)初始值;字符串内容初始化为空串
StringVar (const char a[]);//构造函数,用参数数组a的内容初始化当前对象
StringVar(const StringVar&strobj);//复制构造函数
~StringVar(){delete[]value;};//析构函数
int length() const{return strlen(value);}
//从输入流ins输入一个字符串,其中可以包括空格
void input_line(istream&ins);
//返回字符串首地址
char * getValue()const{return value;}
private:
char * value;//字符串首地址
int max_length;//字符串最大长度(字符个数最大值)
};
//将the_string通过输出流outs输出
ostream&operator<<(ostream&outs,const StringVar the_string);
//main.cpp
#include<iostream>
#include<string>
#include"StringVar.h"
//*********333*********
//*********666*********
int main()
{
StringVar namel(30),name2("Borg");
name1.input line(cin);
StringVar name3(name2);
cout<<name1<<end1;
cout<<name2<<end1;
cout<<name3<<end1;
writeToFile(".、\\");
return 0;
}
//writeToFile.cpp
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
using namespace std;
#include"StringVar.h"
void writeToFile(const char *
path)
{
char filename[30];
strcpy(filename,path);
strcat(filename,"out.dat");
ofstream fout(filename);
istringstream is(string("Jenny Zheng"));
StringVar namel(40),name2("John");
name1.input_line(is);
StringVar name3(name2);
fout<<name1<<name2<<name3;
fout.close();
}
选项
答案
StringVar∷StringVar(int size):max_length(size)//使用成员初始化列表初始化max_length { value=new char[size]; value[0]=’\0’; } StringVar∷StringVar(constchar a[]) { max_length=strlen(a)+1; value=new char[max_length]; strcpy(value,a); } StringVar∷StringVar(const StringVar&strobj) { max_length=strobj.max_length; value=new char[strlen(strobj.value)+1]; strcpy(value,strobj.value); } void StringVar∷input_line(istream&ins) { int i=0; char ch; while(i<max length-1&&(ch=ins.get())!=’\n’) { value[i++]=ch; } value[i]=’\O’; } ostream&operator<<(ostream&outs, const StringVar the_string) { outs<<the string.getValue()<<end1; return outs; }
解析
转载请注明原文地址:https://kaotiyun.com/show/ABAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在数据流图(DFD)中,带有名字的箭头表示
若执行下面的程序时,从键盘上输入5和2,则输出结果是#include<iostream.h>voidmain(){inta,b,k;cin>>a>>b;
软件开发的结构化生命周期方法将软件生命周期划分成
模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的
C++在重载运算将中,如用成员函数重载一元运算符参数表中需要______个参数,如用友元函数重载一元运算符参数表中需要______个参数。
Jackson方法是一种面向【】的结构化方法。
下面关于虚函数的描述中正确的是
符号常量可以用宏定义define和______来表示。
在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( )。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
Modernbiologyisbasedonseveralunifyingthemes,suchasthecelltheory,geneticsandinheritance,FrancisCrick’scentrald
细菌中最小者可用于检查滤菌器效果的是A.大肠埃希菌B.金黄色葡萄球菌C.蜡样芽胞杆菌D.草绿色链球菌E.黏质沙雷菌
人体防御能力与病原体处于相持状态,无临床症状而能排出病原体在大多数传染病中,最常见的表现是
营养物质吸收最主要的部位是
安全生产是是为了使生产过程在符合物质条件和工作程序下进行,防止发生人身伤亡、财产损失等事故,采取的()的一系列措施和活动。
关于无效合同的说法,错误的是()。
因动用而发出无须收回的政府储备物资的,按照发出物资的账面余额,计入()。
根据增值税法律制度的规定,下列情形中,增值税的一般纳税人不得开具增值税专用发票的有()。
FDI
1956年4月,毛泽东发表了《论十大关系》一文,文中,毛泽东指出:“提出这十个问题,都是围绕着一个基本方针”,毛泽东提出的这个“基本方针”是)。
最新回复
(
0
)