首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang20Tsinghua。 注意:只能在函数address_change的“//***
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang20Tsinghua。 注意:只能在函数address_change的“//***
admin
2018-09-22
17
问题
请打开考生文件夹下的解决方案文件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://kaotiyun.com/show/HfAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
树是结点的集合,它的根结点的数目是()。
在下面横线上填上适当的语句,完成程序。#include<iostream>usingnamespacestd;classBase{intx;public:Base(inti
有如下程序:#include<iostream.h>usingnamespacestd;classBase{protected:inti;public:intj;}
下列选项中不属于结构化程序设计方法的是()。
下列选项中,不是算法的基本特征的是()。
有下列程序:#include<iostream>usingnamespacestd;classCon{charID;public:Con():ID(’A’){
要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是()。
有如下语句序列:intk=0:do{k+=5;cout<<’$’;}while(k<19);while(k-->0)cout<<’*’执行上面的语句序列输出字符“$”和“*”的个数分别是(
已知n是一个int型变量,下列语句中错误的是()。
在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中只能用于检测刚进的操作是否失败的函数名是()。
随机试题
患者,女,77岁。突发剧烈头痛、恶心、呕吐6小时。体检:血压190/110mmHg,口角右偏,左侧鼻唇沟变浅,伸舌左偏,左侧偏瘫。问题1:病变部位可能是
真武汤主治二妙散主治
瘀血的病症特点,哪种说法不准确
外科病人最易发生水和钠代谢紊乱是
根据《中华人民共和国商业银行法》的规定,商业银行破产清算时的财产分配适用下列哪一种顺序?
基金托管人召集基金份额持有人大会,必须披露的事项不包括()。
某工业企业大量生产甲、乙两种产品。该企业采用品种法计算产品成本,适用的增值税税率为13%。2018年5月份,该企业发生的有关经济业务如下:(1)5月份开始生产甲、乙产品,当月投产甲产品270件,耗用材料4800千克;投产乙产品216件,耗用材料
让一个吸烟上瘾的人扮演因吸烟患肺癌而接受治疗的病人,之后他戒了烟。这一情景中对戒烟起作用的主要因素是()
已知三位青年小刘、小陈、小李的年龄各不相同。有人问到年龄时他们分别回答如下:(1)小刘说:“我22岁,比小陈小2岁,比小李大1岁一”(2)小陈说:“我不是年龄最小的,小李比我小3岁,小李是25岁。”(3)小李说:“我比小刘年龄小,小刘23岁,小陈比小
路由器转发分组上根据报文分组的
最新回复
(
0
)