首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
admin
2017-02-21
47
问题
请使用【答题】菜单命令或直接用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全国计算机二级
相关试题推荐
【】是C++语言程序的入口。
设置虚基类的目的是()。
在ios中提供控制格式的标志位中,()是转换为十六进制形式的标志位。
下面程序的运行结果为【】。#include<iostream.h>voidfun(intx=0,inty=0){cout<<x<<y;}voidmain(){
有以下程序:#include<iostream>#include<fstream>usingnamespacestd;intmain(){fstreamfile;file
设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为( )。
以下选项中合法的实型常数是
在最坏情况下,冒泡排序所需要的比较次数为
常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示______,用带空心圆的箭头表示传递的是数据。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
SomestudentsattheOpenUniversityleftschool20yearsago.Othersare【C1】______butallmustbeatleast21yearsold.Thisi
X线管中,阳极靶面的作用是
A.足月儿B.早产儿C.过期产儿D.小于胎龄儿E.早期新产儿胎龄>28周至<37周的新生儿
劳动时人体所需的氧量取决于
房产权属所有人对其所有的房产依法享有的权利不包括()。
企业信用程度的标志是()。
关于计算机辅助审计技术能否有效应用的环节,以下情形中,恰当的有()。
公安机关应对广大社会成员进行治安形势和违法犯罪发展趋势的教育,提高其治安防范意识。()
在Excel中,A1~D3单元格的值如图所示,在E1单元格中输入函数“=SUM((A1:A3),ABS(B3),MIN(D1:D3)”,按回车键后,E1单元格中的值为________;在E2单元格中输入函数“=ROUND(SUM(A1:D3),0)”,则E
1.请将下列数据建成一个数据表(存放在Al:E5的区域内),并求山个人工资的浮动额以及原来工资和浮动额的“总计”(保留小数点后两位),其计算公式是:浮动额=原来工资×浮动率,其数据表保存在Sheet1工作表中。序号姓名原来工资
最新回复
(
0
)