问答题
请使用[答题]菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。
注意:只能在函数address_change的“//********333********”和“//********666********”之间填入若干语句,不要改动程序中的其他内容。
程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//proj3.h
#include<iostream>
#include<string>
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 <iostream>
#include <string>
#include"proj 3.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;
void Person::info_display ()
cout<<name<<’\t’
if(address!=NULL)
cout<<address<<endl;
cout<<endl;
Person::~Person()
if(address!=NULL)
delete[] address;
void main()
Person p1;
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[strlen(add)+A]; //给类成员变量动态分配空间
strcpy(......
(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)