首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹proj3下的工程proj3,其中定义了一个字符串变量类StringVar。类成员的说明在程序注释中。请在//********333********和********666********之间填写StringVar成员函数和友元函数
使用VC6打开考生文件夹proj3下的工程proj3,其中定义了一个字符串变量类StringVar。类成员的说明在程序注释中。请在//********333********和********666********之间填写StringVar成员函数和友元函数
admin
2017-02-21
45
问题
使用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全国计算机二级
相关试题推荐
C++程序是从【】函数开始执行的。
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
【】是数据库设计的核心。
有如下程序:#include<iostream.h>longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}
以下哪个不是C++语言中的有效标识符()。
下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
语句ofstreamf("DATA.DAT",ios_base::app|ios_base::binary);的功能是建立流对象f,并试图打开文件DATA.DAT并与之连接,而且
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2}:则下列语句正确的是
在下列字符中,不允许作为C++标识符的是()。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
A、双端固定桥B、种植体固定桥C、应力中断式固定桥D、复合固定桥E、粘结固定桥一侧用种植体作基牙的固定桥称为
《药品管理法》明确规定国家实行中药品种保护制度,国务院于1992年10月14日发布《中药品种保护条例》,自1993年1月1日起施行。在《中药品种保护条例》的规定中,国家鼓励研制开发临床有效的中药品种,对质量稳定、疗效确切的中药品种实行分级保护制度。《中
投资者可以控制的风险包括()。
【背景资料】某矿井采用立井开拓,主、副井井筒位于同一工业广场,主井井筒采用临时井架凿井,副井井筒采用永久井架凿井。主、副井井筒段采用冻结法施工,基岩段采用普通法施工。井筒基岩段预计涌水量8m3h。主、副井井筒冻结及掘砌施工由某施工单位承担。该施工
建筑施工企业安全生产管理工作中,()是清除隐患、防止事故、改善劳动条件的重要手段。
关于自理报检单位的权利,以下表述错误的是()。
张某是甲期货公司的副总经理,李某是该公司的客户。甲期货公司指派张某为李某提供交易服务。后张某离职到了乙期货公司工作,但甲期货公司和张某都没有将此情况告知李某。李某继续在甲期货公司交易,并继续把下达的指令交给张某,而张某并没有把收到的指令交回甲期货公司,导致
微信、微小说、微视频、微博等“微文化”悄然兴起,有人称为“微时代”,“微”似乎成了现代人尤其是年轻人的一种生活态度。从微博、微小说到微信,无不彰显“微文化”成为人们日常生活的有机组成部分。微电影正是在“微文化”“微时代”的背景下应运而生,其流行、传播的速度
改革开放是一场新的伟大革命,是社会主义制度的自我完善和发展。党领导的改革开放实现了目的和效果的统一,为我们提供了必须倍加珍惜和自觉运用的宝贵经验,其中有
下列度量单位中,用来度量计算机内存空间大小的是()。
最新回复
(
0
)