首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
admin
2017-02-21
51
问题
请使用【答题】菜单命令或直接用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://kaotiyun.com/show/I6Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【】;
有如下程序:#include<iostream.h>longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}
有以下程序#include<string.h>#include<iostream.h>voidmain(){char*p="abcde\0fghjik\0";co
模板使我们可以用一个代码段指定一组相关函数(称为______)或一组相关类(称为______。
C++语言中规定函数的返回值的类型是由()。
开发一个C++语言程序的步骤通常包括编辑、【】、链接、运行和调试。
结构化程序设计主要强调的是
软件测试的常用方法通常可分为白盒测试和【】。前者是根据程序的内部逻辑来设计测试用例,后者是根据软件的规格说明来设计测试用例。
结构化程序设计的主要特点是
数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。
随机试题
Ifyou’relikemanypeople,youmayhavedecidedthatyouwanttospendlesstime【C1】________atyourphone.It’sagoodidea:an
Everyfewweeks,outsidethemovietheatreinpracticallyanyAmericantowninthelate1910s,stoodthelife-sizedcard-boardf
血清学指标AFP增高的疾病包括
固定成本与产量的变动无关。()
甲因受贿罪被判处有期徒刑15年,服刑8年后获得假释,在假释考验期内的第3年,故意致人重伤,被判刑6年。根据《刑法》规定,对甲应撤销假释,按照数罪并罚的规定处理,在()范围内适用有期徒刑。
关于债券的风险,下列表述错误的是()。
分析下面的谱例。要求:说明乐句间主要的结构特点。
你负责开一个推介会,向中小企业宣传国家政策和项目,你要重点关注哪些问题?
[1996年]要求结合所学知识分析材料回答问题。材料1恩格斯指出:“就一切可能看出,我们还差不多处在人类历史的开端,而将来纠正我们的错误的后代,大概比我们可能经常以极为轻视的态度纠正其认识错误的前代要多得多,”“科学史就是把这种谬误逐渐消除或是更换为新
A、46.B、50.C、2.D、27.DHowmanypeopleworkintheofficenow?
最新回复
(
0
)