首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang20Tsinghua。 注意:只能在函数address_change的“//***
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang20Tsinghua。 注意:只能在函数address_change的“//***
admin
2018-09-22
41
问题
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang20Tsinghua。
注意:只能在函数address_change的“//*******333*******”和“//*******666*******”之间填入 若干语句,不要改动程序中的其他内容。
程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//proj3.h
#include<iostream>
#include<string>
using namespace std;
class Person{
char name[20];
int age;
char*address;
public:
Person( ){age=0;address=0;}
VOid name change(char*name);
//名字修改函数
void age_change(int_age);
//年龄修改函数
void address_change(char*add);
//地址修改函数
void info_display( );
//人员信息显示
~Person( );
//析构函数
];
void writeToFile(const char*path);
proj3.cpp
#include<iostream>
#include<string>
#include"proj3.h"
using namespace std;
void Person::name_change(char*_name)
{
strcpy(name,_name);
}
void Person::age_change(int_age)
{
age=_age;
}
void Person::address_change(char*_add)
{
if(address!=NULL)delete[ ]address;
//*******333*******
//*******666*******
}
void Person::info_display( ){
cout<<name<<’\t’
<<age<<’\t’;
if(address!=NULL)
cout<<addreSS<<endl;
cout<<endl;
}
Person::~Person( ){
if(address!=NULL)
delete[ ]address;
}
void main( )
{
Person p1;
p1.name_change("Zhang");
p1.age_change(20);
p1.address_change("Tsinghua University");
p1.address_change("Tsinghua");
p1.info_display( );
writeToFile(" ");
}
选项
答案
address=new char[strlen(_add)+1];//给类成员变量动态分配空间 strcpy(address,_add);//把字符串_add复制给address
解析
函数address_change(char*_add)的功能是地址修改,也就是说通过该函数把类的地址修改为add字符串。类的私有成员address是字符指针,因此首先要给address分配空间,通过new语句来实现:address=newchar[strlen(_add)+1];。接下来就是要复制字符串,使用系统函数strcpy,其用法为strcpy(参数1,参数2),将参数2的内容复制到参数1中。
转载请注明原文地址:https://www.kaotiyun.com/show/HfAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream.h>usingnamespacestd;classBase{public:Base(){cout<<"BB";f();voidf(
关于在调用模板函数时模板实参的使用,下列表述中正确的是()。
关于纯虚函数,下列表述中正确的是()。
请定义一个函数名为fun,返回值为int,没有参数的纯虚函数的定义是______。
下列关于虚函数的描述中,正确的是()。
已知n是一个int型变量,下列语句中错误的是()。
关于纯虚函数,下列表述正确的是()。
类clasgone在声明func成员函数时发生错误,出错原因是______。classoneprivate:inta;public:voidfunc(two&);};class
三种基本结构中,能简化大量程序代码行的是()。
随机试题
《百合花》是一部非战争化的战争小说,故事背景虽然发生在抗日战争时期,但描写的却是在战争宏大背景下发生的一个小故事。()
某人在面对问题时,善于把握事物方方面面的关系,全面地分析问题,这体现了他思维品质的【】
A.心室内膜纤维化B.左心室流出道阻塞C.两侧心腔明显扩张D.心肌被脂肪组织取代限制型心肌病引起
固阴煎功效补肾调经,主治月水不调,其方出自
某施工单位承接了一路面改造施工标段,路面施工项目部拟对路面施工分成三个区段进行,在施工作业方法的选取时要求组织几个相同的路面工作队,在同一时间、不同的空间上进行施工。派出了测量工、拌合设备操作人员、摊铺机操作人员、压路机操作人员、边缘修饰人员、普通工人和指
按下图回答问题。已知波浪传播的速度为2.0m/s,波浪的周期为()。A.0.5sB.1.0sC.1.5sD.2.0s
每到一个城市,总像被一种已成惯性的磁力所吸引,不自觉地直趋它的老街区。那些知名的古迹作为一个个景点的特性,决定了它们就像站在舞台上,做着准备充分的表演,所以大部分时候,你都无法找到和它们共鸣的入口;而老街区,不是一个拦起来收门票的专门参观区域,而是一个从古
新民主主义革命的实质是()
下列各类计算机程序语言中,不属于高级程序设计语言的是___________。
TheMagicianTherevolutionthatSteveJobsledisonlyjustbeginningWhenitcametoputtingonashow,no
最新回复
(
0
)