填空题

使用VC6打开考生文件夹下的工程test28_1,此工程包含一个源程序文件test28_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
5
5
源程序文件test28_1.cpp清单如下:
#include <iostream.h>
class A
public:
/***************** found *****************
static int n=1;
A()n++;;
~A() (n--;;
;
/***************** found *****************
int n=0;
int main()
A a;
A b[3];
A *c=new A;
c=&a;
/***************** found *****************
cout<<c.n<<end1;
cout<<A::n<<end1;
return 0;

【参考答案】


(1) 错误:static int n=1;
正确:static int n;
(2) ......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

问答题
使用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 ( );