首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghtin。 注意:只能在函数address_change
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghtin。 注意:只能在函数address_change
admin
2020-04-07
75
问题
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghtin。
注意:只能在函数address_change的“//********333 ********”和“// ******** 666 ********”之间填入若干语句,不要改动程序中的其他内容。
程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//proj3.h
#include<iostream>
#include<string>
using namespace std;
class Pemson{
char name[2 0];
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_isplay();
//人员信息显示
~Person();
//析构函数
};
void writeToFile (const char * path);
proj 3.cpp
#include<iostream>
#include<siring>
#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<<end1;
}
Person::~Person(){
if(address!=NULL)
delete[]addreas;
}
void main()
{
Person p1;
p1.name_change("Zhan9");
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(chin*_add)的功能是地址修改,也就是说通过该函数把类的地址修改为add字符串。类的私有成员address是字符指针,因此首先要给address分配空间,通过new语句来实现:address=newchar[strlen(_add)+1];。接下来就是要复制字符串,使用系统函数strcpy,其用法为strcpy(参数1,参数2),将参数2的内容复制到参数1中。
转载请注明原文地址:https://kaotiyun.com/show/uw8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若下列程序运行时输出结果为1,A,10.12,B,3.5请将程序补充完整。#include<iostream>usingnamespacestd;intmain(){voidt
程序设计语言的工程特性之一为()。
若有以下程序:#include<iostream>usingnamespacestd;intf(intx,inty){return(y-x)*x;}intmain()
执行下列程序的输出结果是______:#include<iostream>usingnamespacestd;classTestClassl{public:voidfunl(){cout<<"Te
以下C++语言中用于单行注释的是
下列语句的作用是计算正整数n的各位数字之和,例如:n=123,sum=1+2+3。请将下列语句补充完整。Do{Sum+=【7】:n=n/10;)while(n!=0)
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0,现经过一系列入栈与出栈运算后,top=20,则当前栈中有【2】个元素。
假设函数fun已经定义,其原型为“voidfun(inta,intb=7,char*p=**);”下列函数调用中错误的是
随机试题
桑戈尔诗歌创作所具有的特点是()
在Word2003中,“插入超链接”操作的快捷键是________________。
甲状腺大部切除术后发生窒息的原因主要为
在假释考验期限内,()应当撤销假释。
王某、张某、田某、朱某共同出资180万元,于2012年8月成立绿园商贸中心(普通合伙)。其中王某、张某各出资40万元,田某、朱某各出资50万元;就合伙事务的执行,合伙协议未特别约定。请回答下列问题。2013年9月,鉴于王某、张某业务能力不足,经合伙人会
商业银行贷款,应当遵守下列哪些资产负债比例管理的规定?()
根据《建筑起重机械安全监督管理规定》,下列各项中,属于应当报废的起重机械情形的是()。
小学生学习动机内容主要包括()。
某窗体中有一命令按钮,单击此命令按钮将会运行一个SQL语句,则需要执行的宏操作是()。
Alargepartofeffectiveleadershipisdependentonsomethingcalled"style".Butstyleisdifficulttoteach,andwhatmakeso
最新回复
(
0
)