首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数addres
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数addres
admin
2016-06-12
34
问题
请使用【答题】菜单命令或直接用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全国计算机二级
相关试题推荐
下面程序的运行结果是【】和【】。#include<iostream.h>#defineN10#defines(x)x*x#definef(x)(x
冒泡排序算法在最好的情况下的元素交换次数为【】。
若二维数组b有m列,则在b[i][j]前的元素的个数为【】。
若有如下程序:#include<iostream>usingnamespacestd;intmain(){char*p="abcdefgh",*r;long*q;q=(l
设树T的度为4,其中度为1,2,3,4的节点个数分别为4,2,1,1。则T中叶子节点数为()。
要采用“cin,tout”进行输入输出时,必须包含的头文件是【】。
下列叙述中,不属于数据库系统的是
关系数据库的关系演算语言是以【】为基础的DML语言。
在下面的程序的横线处填上适当的语句,使该程序的输出为12。#include〈iostream〉usingnamespacestd;classBase{public:inta;
对于switch(C)中的变量c不能定义为的类型是()。
随机试题
n维向量组(Ⅰ):α1,α2,…,αs和向量组Ⅱ:β1,β2,…,βs等价的充分必要条件是
莫尔法确定终点的指示剂是()。
女,30岁,患急性化脓性扁桃体炎在某医院注射室注射青霉素后突发呼吸困难,喉头喘鸣,嘴唇发绀。医务人员立即给予肾上腺素皮下注射的同时,缓解呼吸困难的措施宜首选()
有关肝包膜下血肿的CT密度,一般少见的CT征象是
关于流行病学实验选择研究对象,下列哪项是不合适的
冠桩的长度一般为根长的桩冠中桩的直径一般为根直径的
公务员因工作需要在机关外兼职,可以领取兼职报酬。()
《唐律疏议.名例律》规定:“诸二罪以上俱发,以重者论;等者从一。若一罪先发,已经论决,余罪后发,其轻若等,勿论;重者更论之,通计前罪,以充后数。”请运用中国法制史的知识和理论,分析上述材料并回答下列问题:上述材料反映的是唐朝刑事立法的什么原则?
下列曲线中有渐近线的是()
A=WashingtonD.C.B=NewYorkCityC=ChicagoD=LosAngelesWhichcity...istheheadquarteroftheSupremeCourt?【P1】_
最新回复
(
0
)