首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghtin。 注意:只能在函数address_change
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghtin。 注意:只能在函数address_change
admin
2020-04-07
61
问题
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghtin。
注意:只能在函数address_change的“//********333 ********”和“// ******** 666 ********”之间填入若干语句,不要改动程序中的其他内容。
程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//proj3.h
#include<iostream>
#include<string>
using namespace std;
class Pemson{
char name[2 0];
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_isplay();
//人员信息显示
~Person();
//析构函数
};
void writeToFile (const char * path);
proj 3.cpp
#include<iostream>
#include<siring>
#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<<name<<’\t’ <<age<<’\t’;
if(address!=NULL)
cout<<address<<endl;
cout<<end1;
}
Person::~Person(){
if(address!=NULL)
delete[]addreas;
}
void main()
{
Person p1;
p1.name_change("Zhan9");
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(chin*_add)的功能是地址修改,也就是说通过该函数把类的地址修改为add字符串。类的私有成员address是字符指针,因此首先要给address分配空间,通过new语句来实现:address=newchar[strlen(_add)+1];。接下来就是要复制字符串,使用系统函数strcpy,其用法为strcpy(参数1,参数2),将参数2的内容复制到参数1中。
转载请注明原文地址:https://jikaoti.com/ti/wPA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
执行这个程序的输出结果是();#include<iostream>usingnamespacestd;classTestClass1{public:voidfun1(){cout<<"
数据库系统的核心是______。
如下程序声明了一个使用两个通用数据类型的模板类dataClass,其中构造函数用于初始化两个数据成员,成员函数show用于输出两个数据成员的数值。#include<iostream>usingnamespaeestd;_
下面程序段的运行结果是voidmain(){intt,a,b,c;a=1;b=2;C=2;while(a<b<c){t=a;a=b;b
A、 B、 C、 D、 B在引用函数模板时,如果没在函数名和参数之间加上类型参数,就默认表示参数类型严格按照模板定义的类型匹配;如果在函数名和参数之间加上了类型参数,则对实参自动进行类型转换。
如果一个类至少有一个纯虚函数,那么就称该类为()。
虚函数必须是类的()。
有如下类定义:classPoint{private:staticinthow_many;};______how_many=0;要初始化Point类的静态成员how_many,在下画线处应填入的内容是
有如下类定义:classTest{chara:constcharb:public:Test(charc){a=c;b=c;}//第1行voidf(chara)const{this.>a=a;}
下列类模板的定义中语法格式错误的是
随机试题
基本建设
某月经周期正常规律的孕妇,目前怀孕36周,孕期进展顺利。其胎儿身长约是
下列哪种方位可以抑制金属伪影
前囟闭合时间延迟的常见原因不包括
基金的费用包括()。
BIM技术能应用在工程施工阶段很多方面,下列属于基于BIM的虚拟建造方面的内容是()。
甲公司是一家电讯设备制造商,为了缓解海外事业部遭受损失的情况,决定大规模采取企业并购方式发展多元化,使公司成长为一家高度多元化的大企业,经营业务范围涉及保险、酒店、金融、电子等。为使甲公司的发展战略得以实施,该公司的组织结构可能为()。
心理测验具有()。
广场舞是业余的、群众性的,是为老龄化社会所需求的。对于舞者们而言,跳舞已经是日常生活的一部分:但对于城市里其他市民的日常生活而言,它既有可能是“养眼”的一幕,也有可能是刺耳的一曲。根据这段话的意思,作者接下来最有可能谈及的问题是:
Maryisasfastas,ifnotfasterthan,anyoneinherclassandshouldbeontheteam.
最新回复
(
0
)