问答题

请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR ****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为: The value of member objects is 8 注意:只修改注释“//ERROR ****found****”的下一行语句,不要改动程序中的其他内容。 //proj1.cpp #include <iostream> using namespace std; class Member { public: Member(int x) {val =x;} int GetData() {return val;} private: //ERROR ******** found******** int val =0; }; class MyClass { public: // ERROR ******** found******** MyClass(int x) { data=x; } void Print() // ERROR ******** found******** { cout <<"The value of member object is" <<data.val <<endl;} private: Member data; }; int main() { MyClass obj(8); obj.Print(); return 0; }

【参考答案】

(1)int val; (2)MyClass(int x):data(x){} (3){cout<<"The value......

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

问答题
请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程proj3,其中声明的Matrix是一个用于表示矩阵的类。operator+的功能是实现两个矩阵的加法运算。例如,若有两个3行3列的矩阵则A与B相加的和为请编写operator+函数。要求:补充编制的内容写在“ ********333********”与“ ********666********”之间,不得修改程序的其他部分。注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。 Matvix.h#include <iostream>#include <iomanip>using namespace std;const int M=18;const int N=18;class Matrix {int array[M][N];public:Matrix() {}int getElement(int i, int j) const{return array[i][j];}void setElement (int i, int j, int value){array[i][j] =value;}void show(const char * s)const{cout << endl << s;for (int i = 0; i < M; i++){cout << endl;for (int j=0; j<N; j++)cout << setw (4) << array[i] [j];}}};void readFromFile (const char *, Matrix&);void writeToFile (char *, const Matrix&); main.cpp#include <fstream>#include Matrix.h void readFromFile ( const char * filename, Matrix& m){ifstream infile(filename);if (! infile) {cerr << 无法读取输入数据文件! n ;return;}int d;for (int i=0; i<M; i++)for (int j=0; j<N; j++) {infile >> d;m.setElement(i, j, d);}}Matrix operator + (const Matrix& m1, const Matrix& m2){ ******** 333******** ******** 666********}int main(){Matrix m1, m2, sum;readFromFile( ,m1);readFromFile( ,m2);sum=m1+m2;m1.show( Matrix m1: );m2.show( Matrix m2: );sum.show( Matrix sum=m1+m2: );writeTOFile( , sum);return 0;}