使用VC6打开考生文件夹下的工程MyProj7。此工程包含一个源程序文件MyMain7.cpp。其中定义了类Sample,但类Sample的定义并不完整。
请按要求完成下列操作,将类Sample的定义补充完成:
①定义私有数据成员n,它是int型的数据。请在注释“//* *1**”之后添加适当的语句。
②完成重载构造函数Sample()的定义,使Sample对象的默认值:n=0。请在注释“//* *2* *”之后添加适当的语句。
③完成成员函数add()的类体内的定义,使成员函数返回的Sample对象的值n为两类Sample对象s1和s2的私有成员n的和。请在注释“//* *3* *”之后添加适当的语句。
④完成成员函数disp()的类外定义,使其以“n=”的格式将Sample对象的值输出到屏幕上。请在注释“* *4* *”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件MyMain7.cpp清单如下:
//MyMain7.cpp
#include<iostream>
using namespace std;
class Sample
private:
//* * 1* *
public:
Sample()
//* *2* *
Sample add(Sample s1,Sample s2)
//* *3* *
void disp();
;
void Sample: :disp()
//* * 4 * *
int main()
Sample s1(10),s2(5),s3;
cout<<"s1:";
s1.disp();
cout<<"\n S2:";
s2,disp();
s3.add(s1,S2);
cout<<"\n s3.add(s1,s2)\n s3:";
s3.disp();
return 0;
参考答案:
①int n;
②Sample(int m=0){n=m;}
③this->n=s1.n+s2.n=return(*this);
④cout<<"n="<<n<<end1;
解析: 本题考核类与对象的操作。
①在第1处定义int型私有数据成员n,填入:
int n;
②在第2处完成重载构造函数Sample的定义,使Sample对象的默认值:n=0。所以应该填入:
Sample(int m=0){n=m;}
③在第3处完成成员函数add()的类体内的定义,使成员函数返回的Sample对象的值n为两类Sample对象“和s2的私有成员n的和。可以采用this指针完成。
④在第4处完成成员函数disp的类外定义,使其以“n=”的格式将Sample对象的值输出到屏幕上,只要在函数中按照规定的输出格式输出数据成员n即可。