首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数addres
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数addres
admin
2016-06-12
36
问题
请使用【答题】菜单命令或直接用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://jikaoti.com/ti/upE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果是#include<iostream.h>voidfun(int*a,int*B){int*k;k=a;a=b;b=k;}void
函数模板:template<classT>Tadd(Tx,Ty){returnx+y;}下列对add函数的调用不正确的是
若有以下程序:#include<iostream>usingnamespacestd;classSample{private:constintn;public:S
若有以下程序:#include<iostream>usingnamespacestd;#definePI3.14classPoint{private:intx,y;publ
有以下程序:#include<iostream>usingnamespacestd;intmain(){intintone;int&rInt=intone;intone=
下列各项中,属于面向对象程序设计语言不同于其他语言的主要特点的是()。
若运行时给变量x输入12,则以下程序的运行结果是 #include<iostream.h> voidmain() { intx,y; cin>>x; y=x>12?x+lO:x-12; cout<<y; c
对虚函数的调用有两种方式:【】和【】。
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
随机试题
确定免疫复合物病的直接证据为
蒸汽锅炉发生的事故有很多种,蒸汽锅炉缺水事故就是其中最重要的一种,它是锅炉事故中最多最普遍、是危险性比较大的事故之一,它常常会造成锅壳、炉膛烧塌,炉管变形过热爆破,甚至引起锅炉爆炸的直接原因。下列情况不属于锅炉缺水事故原因的是()。
考核公共交通服务质量的标准是()。
下列关于OBOS指标的应用法则,错误的是( )。
在房地产市场调研中搜集有关房地产市场参与者的基本特征、倾向性、感觉、动机和态度等资料的调研方法属于()。
房屋大修工程的特点有()。
按照山脉的成因,武夷山景区属于()。
根据皮亚杰理论,青春期的思维水平达到()。
下列诗集中不属于诗歌总集的是()。
结合材料回答问题:材料1“一花独放不是春,百花齐放春满园。”如果世界上只有一种花朵,就算这种花朵再关,那也是单调的。不论是中华文明,还是世界上存在的其他文明,都是人类文明创造的成果。文明交流互鉴不应该以独尊某一种文明或者贬损某
最新回复
(
0
)