首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 TsinghHa。 注意:只能在函数ad
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 TsinghHa。 注意:只能在函数ad
admin
2021-02-22
29
问题
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 TsinghHa。
注意:只能在函数address_change的“//********333*
********”和“//**********666********”之间填入若干语句,不要改动程序中的其他内容。
程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//proj3.h
#include
#include
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
#include
#include”proj 3.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[]ad-
dress;
//********333********
//********666********
}
void Person::info_display(){
cout<
<
if(address!=NULL)
cout<
cout<
}
Person::一Person(){
if(addresS!=NULL)
delete[]address;
}
void main()
{
Person p1;
p1.name change(”Zhang”);
p1.age_change(20);
p1.address_change(”Tsinghua Uni-
versity”);
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=new char[strlen(_add)+1];。接下来就是要复制字符串,使用系统函数strcpy,其用法为strcpy(参数1,参数2),将参数2的内容复制到参数1中。
转载请注明原文地址:https://jikaoti.com/ti/Ieh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码。函数func(intd[],intn)的功能是将长度为num的数组d的每一个数字是奇数的扩大1倍,并存储到数组d中。例如:123456789
有两个关系R和T如下:则由关系R得到关系T的操作是
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
生成派生类对象时,派生类构造函数调用基类构造函数的条件是()。
下列关于C++预定义流对象的叙述中,正确的是()。
下列关于类模板的模板参数的叙述中,错误的是()。
有如下类定义:classPoint{intx_,y_;public:Point():x_(0),y_(0){}Point(intx,inty=0):x_(x),y_(y){}};
下面属于整数类I的实例的是
语句ofstreamf(’’SALARY.DAT’’,ios_base::app);的功能是建立流对象f,并试图打开文件SALARY.DAT与f关联,而且()。
以下关键字不能用来声明类的访问权限的是()。
随机试题
(2010年10月)简述外汇管理的意义。
纳税人同税务机关在纳税上发生争议时,可有以下行为:①按法律、行政法规的规定缴纳税款及滞纳金;②向上一级税务机关申请复议;③向人民法院起诉。这些行为的先后顺序为()
假设瑞典一进口商拟进口机电一批,现有日本、英国及中国三家出口商向他报价,在质量、报价和其他交易条件相同的情况下,瑞典应向_______进口。(考虑税收为主)()
何谓包茎、包皮过长和包皮嵌顿7如何治疗?
一女性患者,诉3天来稀薄的泡沫状白带增多,并有外阴瘙痒、灼痛、并伴尿频、尿痛,妇科检查时见阴道黏膜综合征充血,后穹窿见多量白带,呈黄白色泡沫状,阴道分泌物悬滴法有阳性发现,应该诊断为()
张某利用所在单位的设备和技术资料完成了一项产品的更新换代设计。该项发明创造的专利申请权应属于:()
以下工程造价计价依据中,按使用对象分类的是()。
某工程网络计划有三条独立的路线A—D、B—E、C—F,其中B—E为关键线路,TFA=TFD=2天,TFC=TFF=4天,承发包双方已签订施工合同,合同履行过程中,因业主原因使B12作延误4天,因施工方案原因使D工作延误8天,因不可抗力使D、E、F工作延误1
血液是由血浆和血细胞组成的,在两层交界处,有很薄的一层白色物质,为白细胞和血小板。下列说法正确的是()。
中国共产党要领导革命取得胜利,必须不断加强党的思想建设、组织建设和作风建设。新民主主义革命时期党的建设的主要经验是
最新回复
(
0
)