问答题

请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR *********found**********”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
NUM=0
Value=1
注意:只修改注释“//ERROR ****found****”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#include <iostream>
using namespace std;
class MyClass
int_i;
friend void Increment (MyClass& f);
public:
const int NUM;
MyClass(int i=0) NUM=0;
_i=i;

int GetValue () const return_i;
;
//ERROR ********found********
void Increment () f._i++;
int main ()

MyClass obj;
MyClass::Increment (obj);
cout<<"NUM="<<obj.NUM<<endl<<"Value="<<obj.GetValue()<<endl;
return 0;

【参考答案】

(1)MyClass(int i=0):NUM(0){
(2)void Increment(MyClass&f......

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

问答题
请使用VC6或使用[答题]菜单打开考生文件夹proj3下的工程prog3,其中声明了VaIArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种情况下程序的输出应该是: VaIArray v1=1,2,3,4,5 VaIArray v2=2,2,2,2,2 要求: 补充编制的内容写在“ *******333*******”与“ ********666********”之间。不要修改程序的其他部分。 注意: 相关文件包括:main.cpp、ValArray.h。 程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件。 ValArray.h #include<iostream> using namespace std; class ValArray int*v; int size; public: ValArray(const int*p,int n)size(n) v=new int[size]; for (int i=0;i<size;i++) v[i]=p[i]; ValArray(const ValArray& other); ~ValArray()delete [] v; void setElement(int i,int val) v[i] =val; void print (ostream& out) const for (int i=0;i<size-1;i++) out<<b[i]<< , ; out<<v[size-1]<<’’; ; void writeToFile (const char*); main.cpp #include ValArray.h ValArray::ValArray (const ValArray&other) ********333******** ********666******** int main() const int a[]=1,2,3,4,5; ValArray v1(a,5); ValArray v2(v1); for (int i=0;i<5;i++) v2.setElement(i,2); cout<< ValArray v1= ; v1.print(cout); cout<<endl; cout<< ValArray v2= ; v2.print(cout); cout<<endl; writeToFile( ); return 0;