首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数addres
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。 注意:只能在函数addres
admin
2016-06-12
46
问题
请使用【答题】菜单命令或直接用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全国计算机二级
相关试题推荐
如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为
下面的语句中错误的是
与y=(x>0?1:x<0?-1:0);的功能相同的if语句是
以下程序的输出结果是 #include<iostream.h> voidmain() {inta=21,b=11; cout<<--a+b;}
下列关于break语句的描述中,不正确的是()。
对于重载的运算符>>,它是一个
数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和【】两个含义。
非成员函数只有在声明为类的【】才能访问这个类的所有private成员。
在C++语言中,函数形参的默认存储类型是()。
如果表达式--x中的“--”是重载的类运算符,采用运算符函数调用格式,及表达式还可以表示为______。
随机试题
各领域发展水平的最高值是确定总目标的基础。()
正常胸片中,左心缘上段向左突出的弓状影为
下列关于违约责任的说法,错误的是()。
各种收益曲线的( )不同。
运用公式“y=a+bx”编制弹性预算,字母x所代表的业务量可能有()。
(2018年)甲企业为增值税一般纳税人,其生产的M产品适用的增值税税率为13%。2019年12月1日,该企业“应收账款”所属明细科目的借方余额合计为300万元,“坏账准备——应收账款”科目的贷方余额为20万元,企业确认收入的同时结转销售成本。12月份该企业
把对集体的管理和对个别学生的管理结合起来的班级管理方式是()。
心理学研究表明,人们的认识和情感有时并不完全一致。因此,在师生沟通中,教师的有些话虽然完全正确,但学生却因碍于情感而觉得难以接受,这时需要教师采用()的表达方式。
【《邦联条例》】浙江大学2002年世界近代史真题
在用恒定刺激法测量重量差别阈限的实验中,标准刺激和比较刺激是继时呈现的,这时需要平衡的误差是()
最新回复
(
0
)