首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数addres
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数addres
admin
2016-06-12
50
问题
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。
注意:只能在函数address—change的“//**********333**********”和“//**********666**********”之间填入若干语句,不要改动程序中的其他内容。
程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为0bj文件,并且在本程序中调用。
//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”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[]ad—
dress;
//*********333*********
//*********666*********
}
void Person::info_display(){
cout<
<
if(address!=NULL)
cout<
cout<
}
Person::一Person(){
if(address!=NULL)
delete[]address;
}
void main()
{
Person pl;
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[strleFl( add) +1]; //给类成员变量动态分配空间 strcpy(address,jdd);//把字符串add复制给add.Ress
解析
主要考查的是Person类,其中涉及动态数组、析构函数、构造函数和成员函数。
【解题思路】函数address一change(char*一add)的功能是地址修改,也就是说通过该函数把类的地址修改为add字符串。类的私有成员address是字符指针,因此首先要给address分配空间,通过new语句来实现:address=new char[strlen(一add)+1];。接下来就是要复制字符串,使用系统函数strcpy,其用法为strcpy(参数1,参数2),将参数2的内容复制到参数1中。
转载请注明原文地址:https://kaotiyun.com/show/eYNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
函数模板:template<classT>Tadd(Tx,Ty){returnx+y;}下列对add函数的调用不正确的是
在C++语言中,不合法的实型数据的是
下列字符串中可以用作C++语言标识符的是
在软件生产过程中,需求信息的给出是
下列描述中,表达错误的是()。
下列关于构造函数的描述中,错误的是()。
下列各项中,属于面向对象程序设计语言不同于其他语言的主要特点的是()。
面向对象程序设计支持的3大特性为:封装性、继承性和【】。
若变量已正确定义并赋值,以下符合C++语言语法的表达式是
关系数据库的关系演算语言是以【】为基础的DML语言。
随机试题
法约尔认为行政管理活动的职能的构成因素包括
下肢静脉曲张的主要原因是()
煤矿建设工程()未经验收或者验收不合格,擅自投人生产的,由煤矿安全监察机构责令停止生产,处5万元以上10万元以下的罚款;拒不停止生产的,由煤矿安全监察机构移送地质矿产主管部门依法吊销采矿许可证。
甲、乙公司均为增值税一般纳税人,存货和固定资产(动产)适用的增值税税率均为17%。2017年1月1日甲公司向乙公司销售一批商品,价税合计为1200万元。双方约定乙公司应于2017年12月31日前向甲公司付清上述货款。但是乙公司由于资金周转困难,至2018
甲公司以一项对联营企业的长期股权投资与乙公司的一台生产设备和一项无形资产进行交换。甲公司的长期股权投资账面余额为500万元,已计提减值准备60万元,公允价值为380万元。乙公司的设备原价为160万元,累计折旧为80万元,公允价值为100万元;无形资产账面价
《苏格拉底之死》等绘画作品的作者是法国19世纪新古典主义画家__________。
()是我们党的思想路线,也是马列主义、毛泽东思想和邓小平理论的精髓。
我从不说别人的坏话,如果我说了别人的坏话,那绝对是当面说的。如果我在背后说了别人坏话,那么一定是我自己独处的时候。下列说法与上面论证最相似?()
文具店的圆珠笔每支4元,签字笔每支6元,钢笔每支7元。甲、乙、丙三人带的钱数相等且都不超过100元,三人分别购买一种笔。已知甲买完圆珠笔后还剩15元,乙买完签字笔后还剩21元,丙买完钢笔后还剩17元。如果三人的钱相加,最多能买多少支笔?()
A、Hedoesn’tgetonwiththeothers.B、Hedoesn’tfeelateaseinthefirm.C、Hehasbeentakenforafool.D、Hehasfoundabet
最新回复
(
0
)