首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
admin
2020-06-29
89
问题
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。
注意:只能在函数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"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[]
address;
//*********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 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://www.kaotiyun.com/show/cY8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是
在数据流图(DFD)中,带有名字的箭头表示______。
下面程序的执行结果是【】。#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){cout<<setfill(’x’)
请按下面注释的提示将类B的构造函数定义补充完整。classA{inta;public:A(intaa=0){a=aa;}};classB:publicA{
若有以下定义:inta[]={1,2,3,4,5,6,7};charc1=’b’,C2=’2’;则数值不为2的表达式是()。
数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于【】。
下列关于C++运算符结合性的说法中,正确的是()。
下列有关继承和派生的叙述中,正确的是()。
下面描述中错误的是()。A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具
下列关于getline()函数的描述中,错误的是()。
随机试题
简述隔膜式压力表的测量范围。
用下列何种方法检测HCG可免除黄体生成素的干扰
治疗量的阿托品能引起的作用是()
颈部淋巴结肿大,疑为癌肿转移时,应首先考虑的是
有限的器官供体与大量需要移植器官的患者之间存在供不应求的矛盾。因此,对有限器官供体的分配存在着尖锐的伦理问题尽管争论激烈,但在下列争论的问题中有一点是绝大多数国家明确反对的
明安图
tertiaryindustry
A、 B、 C、 C
Ithasbeensaidthateveryonelivesbysellingsomething.Inthelightofthisstatement,teacherslivebyselling【C1】kno______
TwomostimpolitedriesinEuropeturnedouttobeMoscowandWarsaw.Mumbai,India,rankedastheleastcourteouscityamongt
最新回复
(
0
)