首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹proj3下的工程proj3,其中定义了一个字符串变量类StringVar。类成员的说明在程序注释中。请在//********333********和********666********之间填写StringVar成员函数和友元函数
使用VC6打开考生文件夹proj3下的工程proj3,其中定义了一个字符串变量类StringVar。类成员的说明在程序注释中。请在//********333********和********666********之间填写StringVar成员函数和友元函数
admin
2017-02-21
40
问题
使用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全国计算机二级
相关试题推荐
有如下程序:#include<iostream.h>longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}
有如下程序#include<iostream.h>#defineN2#defineMN+1#defineNUM2*M+1voidmain()
下列程序的运行结果是#include<iostream.h>classLocation{private:intX.Y;public:
下列程序是用来判断数组中特定元素的位置所在,则输出结果为#include<conio.h>#include<iostream.h>intfun(int*s,intt,int*k){i
以下程序的运行结果是#include<iostream.h>voidsub(intx,inty,int*z){*z=y-x;}voidmain(){int
模板使我们可以用一个代码段指定一组相关函数(称为______)或一组相关类(称为______。
C++语言的基本控制结构为顺序结构、选择结构和【】。
下面是一个递归函数,其功能是使数组中的元素反序排列。请将函数补充完整。voidreverse(int*a,intsize){if(size
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
以下选项中合法的实型常数是
随机试题
在分光光度法中,应用光的吸收定律进行定量分析,应采用的入射光为
与上颌窦关系最密切的是哪一组牙离下颌管最近的是哪一组牙
下列属于休克中医病机的是()
加权平均投资组合收益率是对投资组合中所有债券的收益率按各自所占比重作为权重进行加权平均后得到的收益率。()
债券的预期货币收入的来源为( )。
零贝塔系数的投资组合的预期收益率是()。
陶行知先生提出的“接知如接枝”体现了教学的()。
借鉴汉字行书字体创造日本行书假名——平假名的是()。
小王、小李、小张早起准备去爬山。天气预报说,今天可能下雨。围绕天气预报,三个人争论起来。小王:“今天可能下雨,那并不排斥今天可能不下雨,我们还是去爬山吧。”小李:“今天可能下雨,那就表明今天要下雨,我们还是不去爬山吧。”小张:
一个系统的登录操作规格说明如下:登录对话框有两个数据输入:用户名和密码,登录操作对两个输入数据进行检查,要求用户名中只能包含字母和数字(字母不区分大小写),密码可以包含任何字符,用户名和密码都不能为空且长度不限。当用户名或密码为空时,则登录失败并提
最新回复
(
0
)