首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
admin
2017-02-21
55
问题
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。
注意:只能在函数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 wrriteToFile(const char * path);
proj3.cpp
#include<iostream>
#include<string>
#include"proj3.h"
using namespace std;
void Person∷name change(char * _name 1
{
strcpy(name, name);
}
void PeEson∷age_change(int_age)
{
age=_age;
}
void PeEson∷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<<end1;
tout<<end1;
}
Person∷~PeEson(){
if(address!=NULL)
delete[]address;
}
void main()
{
PeEson 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/I6Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是【】。#include<iostream.h>unsignedfun(unsignednum){unsignedk=1;do{k*=num%10;n
以下程序的输出结果是【】。#include<iostream.h>voidfun(){staticinta=0;a+=2;cout<<
软件危机出现于60年代末,为了解决软件危机,入们提出了【】的原理来设计软件,这就是软件工程诞生的基础。
设变量a是int型,f是double型,i是float型,则表达式10+’a’+i*f值的数据类型
语句int*i;i=newint[10];,释放指针i的语句是【】。
语句cout<<setprecision(2)<<1024.4567;的输出结果为
下面程序的运行结果是#include"iostream.h"#definesum(a,b)a*bvoidmain(){intx;x=sum(1+2,3);
下列叙述中,不属于测试的特征的是
在一个图中,所有顶点的度数之和等于所有边数的【 】倍。
写出执行完下列代码段之后指定变量的值:boolx=true,y=false,z=false;x=x&&y||z;y=x||y&&z;z=!(x!=y)||(y==z);则x=false,y=false,Z=
随机试题
丙酮酸激酶的变构激活剂是
关于罗伊适应模式与护理程序的关系,下列描述正确的是()。
急性出血坏死性胰腺炎病人不会出现
A.稳态特异反应B.一般非特异反应C.防御状态D.心身崩溃E.CAS综合征
关于竖井土方开挖安全控制要点的说法,错误的是()。
甲公司2003年7月1日将其于2001年1月1日购人的债券予以转让,转让价款为2100万元。该债券系2001年1月1日发行的,面值为2000万元,票面年利率为3%,到期一次还本付息,期限为3年。转让时,尚有未摊销的折价12万元。2003年7月1日,该
有n个结点的完全二叉树存放在一维数组A[1..n]中,试据此建立一棵用二叉链表表示的二叉树,根由tree指向。(可不定义结构体)
阅读以下说明,根据要求回答问题。[说明]某公司网络结构如图1-23所示,通过在路由器上配置访问控制列表ACL来提高内部网络和Web服务器的安全。请说明下面这组ACL语句的功能。Router(config)#access-list1
HarveyMusicFestivalByMikeSandersAustin-August8th.TheSixthAnnualHarveyLiveMusicFestivalwillbestartingontheg
Inthe1980s,whenaccidentshappened,injuredcustomerscould______.AccordingtotheAmericanLawInstitute,thewarningso
最新回复
(
0
)