网友您好, 请在下方输入框内输入要搜索的题目:
使用VC6打开考生文件夹下的工程test28_3。此工程包含一个test28_3.cpp,其中定义了类Person,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类Person的私有数据成员forename、surname 和 money,forename 和 surname都是char型的指针数据,money是double型的数据。请在注释“//**1**”之后添加适当的语句。
(2)完成类Person的带三个参数的构造函数Person(char *f, char *s,double m),分别为forename和surname申请新的空间来存储参数f和s指针指向的内容,注意空间的大小,最后把参数m的值赋给money,请在注释“//**2**”之后添加适当的语句。
(3)完成类Person的析构函数的定义,把forename和surname指向的空间释放,请在注释“//**3**”之后添加适当的语句。
(4)完成类Person的成员函数display的定义,使其以格式“forname surname has money”的形式输出内容,请在注释“//**4*。”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
输出结果如下:
Richard Berk has 1000.56
源程序文件test28_3.cpp清单如下:
include <iostream.h>
include <string.h>
class Person
{
private:
//** 1 **
double money;
public:
Person(char *f, char *s, double m);
~Person();
void display();
};
Person::Person(char *f, char *s, double m)
{
//** 2 **
strcpy(forename, f);
surname = new char[strlen(s)+1];
strcpy(surname, s);
money=m;
}
Person: :-Person ()
{
//** 3 **
}
void Person:: display ( )
{
//** 4 **
}
void main ( )
{
Person p("Richard", "Berk", 1000.56);
p.display ( );
}
参考答案