首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数ad
admin
2016-08-19
50
问题
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。
注意:只能在函数address_change的“//********333********”和“//********666********”之间填人若干语句,不要改动程序中的其他内容。
程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
1 //proj 3.h
2 #include
3 #include
4 using namespace std;
5 clasS Person{
6 char name[2 0];
7 int age;
8 char*address;
9 public:
10 Person(){age=0;address=0;)
11 void name_change(char*_name);
12 //名字修改函数
13 void age_change(int_age);
14 //年龄修改函数
15 void address change(char*add);
16 //地址修改函数
17 void info display();
18 //人员信息显示
19 ~Person();
20 //析构函数
21 };
22 void writeToFile(const char*path);
1 proj 3.cpp
2 #include
3 #include
4 #include"proj3.h"
5 using namespace std;
6
7 void Person::name change(char*_name)
8 {
9 strcpy(name,_name);
10 }
11 void Person::age_change(int_age)
12 {
13 age=_age;
14 }
15 void Person::address_change(char*_
16 add)
17 {
18 if(address!=NULL)delete[]ad-
19 dress;
20 //********333********
21 //********666********
22 }
23 void Pemson::info_display(){
24 cout<
25 <
26 if(addreSS!=NULL)
27 cout<
28 cout<
29 }
30 Person::~Pemson(){
31 if(addreSS!=NULL)
32 delete[]address;
33 }
34 VOid main()
35 {
36 Pemson p1;
37 p1.name_change("Zhang");
38 p1.age_change(2 0);
39 p1.address_change("Tsinghua Uni-versity");
40 p1.addresS_Change("Tsinghua");
41 p1.info display();
42 writeToFile(" ");
43 }
选项
答案
1 address=new char[strlen(add)+1];//给类成员变量动态分配空间 2 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://kaotiyun.com/show/sZNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序实现栈的入栈和出栈的操作。其中有两个类:一个是节点类node,它包含点值和指向上一个节点的指针prev;另一个类是栈类stack,它包含栈的头指针top。生成的链式栈如下图所示。〈IMGonClick=over(this)title
以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每个学生的平均分数并输出,程序如下:#include<iostream>usingnamespacestd;intmain(){i
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thursday,Friday=2};则下列语句正确的是()。
以下程序的输出结果是#include<iostream.h>voidreverse(inta[],intn){inti,t;for(i=0;<n/2;i++){t=a[i]=a[i]=a[n-1-
若有以下程序:#include<iostream>usingnamespacestd;classA{private:inta;public:voidseta(intx
设有关系R及关系S,它们分别有p、q个元组,则关系R与S经笛卡儿积后所得新关系的元组个数是()。
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是
下列运算符中,在C++语言中不能重载的是
如果一个工人可以管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在【】的联系。
一个()允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值能取任意数据类型。
随机试题
学生动作的执行由出声的外部语言到不出声的外部语言,再到内部语言的过程是智力技能形成的哪个阶段【】
A.随机血糖B.果糖胺C.糖化血红蛋白D.尿糖反映近2~3月的血糖控制指标是
瘿病之心肝阴虚证治宜
贴现的期限为()。
下列交易或事项中,能够引起资产和所有者权益同时发生增减变动的有()。(2014年)
培根曾经说过,“一次不公正的审判,其恶果甚至超过十次犯罪。因为犯罪虽是无视法律——好比污染了水流,而不公正的审判则毁坏法律——好比污染了水源。”此话的核心蕴意是
AccordingtoMr.Burrows,theapprenticeshipschemeThecriticismofMr.Burrowstowardtheschemeimpliesthat
执行上一题所有的命令序列后,数据表文件TTT.DBF中的记录共有______。
Answerquestionsbyreferringtotheradioreportsonsavingenergy.Note:Whenmorethanoneanswerisrequired,thesemay
InEnglandalongastretchofthenorth-easecoastwhichgentlycurvesfromNorthumberlandtotheestuaryoftheriverTees,the
最新回复
(
0
)