使用VC6打开考生文件夹下的工程test3_1,此工程包含一个源程序文件test3_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
A:a=5
display1:a=6
display2:a=5
源程序文件test3_1.cpp清单如下:
include<iostream.h>
Class A
{
public:
/**********found**********/
A (){}
void printa(){cout<<"A:a="<<a<<endl;}
private:
int a;
/***********found**********/
class B;
};
class B
{
public:
/*********found**********/
void display1(A t)
{
(*t).a++;cout<<"display1:a="<<(*t).a<<endl;
}
void display2(A t)
{
t.a--;cout<<"display2:a="<<t.a<<end1;
}
};
void main()
{
A obj1;
B obj2;
obj1.printa();
obj2.display1(&obj1);
obj2.display2(obi1);
}
第1题:
使用VC6打开考生文件夹下的工程test15_1,此工程包含一个源程序文件test15_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果如下:
My object has member 7
源程序文件test15_1.cpp清单如下:
include<iostream.h>
class MyClass
{
public:
MyClass(int mem){member=mem;}
~MyClass(){}
int GetAge()const{ return member;}
private:
int member;
};
/*****+********+** found *************/
void main()
{
int mem=7;
/*************** found ***************/
MyClass myObj=MakeObject(mem);
cout<<"My object has member"<<myObj->GetAge()<<endl;
/***************** found ****************/
delete;
}
MyClass *MakeObject(int mem)
{
MyClass *pMyClass=new MyClass(mem);
return pMyClass;
}
第2题:
使用VC6打开考生文件夹下的工程test35_1,此工程包含一个源程序文件test35_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
400
40
源程序文件test35_1.cpp清单如下:
include <iostream.h>
class Student
{
public:
Student(int xx){x=xx;}
virtual float calcTuition();
/***************** found *****************/
private:
int x;
};
float Student::calcTuition()
{
return float(x'x);
}
/***************** found *****************/
class GraduateStudent::public Student
{
public:
/***************** found *****************/
GraduateStudent(int xx) ::Student(xx){}
virtual float calcTuition();
};
float GraduateStudent::calcTuition()
{
return float(x*2);
}
void main()
{
Student s(20);
GraduateStudent gs(20);
cout<<s.calcTuition()<<end1;
cout<<gs.calcTuition()<<end1;
}
第3题:
使用VC6打开考生文件夹下的工程test41_1,此工程包含一个源程序文件test41_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为:
7
源程序文件test41_1.cpp清单如下:
include<iostream.h>
class myclass
{
int a, b;
public:
/***************** found *****************/
int sum(myclass x);
void set_ab(int i, int j);
}:
/**************** found ****************/
void myclass:set_ab(int i, int j)
{
a=i;
b=j;
}
int sum (myclass x)
{
/***************** found ***************/
x.a+x.b;
}
void main ( )
{
myclass n;
n.set_ab (3, 4);
cout <<sum(n)<<endl;
}
第4题:
使用VC6打开考生文件夹下的工程test21_1,此工程包含一个源程序文件test21_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
The grade is 3
源程序文件test21_1.cpp清单如下:
include<iostream.h>
class student
{
private:
int grade;
public:
/**************** found*******************/
student(int thegra):(thegra){}
~student(){}
int get_grade(){return grade;}
};
void main()
{
int thegra=3;
/**************** found*******************/
student point=new student(thegra);
/**************** found*******************/
cout<<"The grade is"<<point.get_grade()<<endl;
delete point;
}
第5题:
使用VC6打开考生文件夹下的工程test34_1,此工程包含一个源程序文件test34_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
David 3123 1000
源程序文件test34_1.cpp清单如下:
include <iostream.h>
include <string.h>
class person
{
public:
char name[20];
unsigned long id;
float salary;
void print(){cout<<name<<' '<<id<<' '<<salary<<
/***************** found *****************/
}
void main( )
{
person p;
person *ptr;
/***************** found *****************/
ptr=p;
/***************** found *****************/
strcpy("David",ptr->name);
ptr->id=3123;
ptr->salary=1000;
ptr->print();
}
第6题:
使用VC6打开考生文件夹下的工程proj2。此工程包含一个源程序文件main2.cpp,但该程序运行有问题。请改正main函数中的错误。
源程序文件main2.cpp清单如下:
//main2.cpp
include <iostream>
using namespace std;
class MyClass
{
public:
MyClass(int m)
{
member=m;
}
~MyClass() {}
int GetMember()
{
return member;
}
private:
int member;
};
MyClass MakeObject(int m)
{
MyClass *pMyClass=new MyClass(m);
return *pMyClass;
}
int main ( )
{
int x=7;
/************found**************/
MyClass *myObj=MakeObject(x);
/*************found*************/
cout<<"My object has member"<<myObj.GetMember()<<end1;
return 0;
}
第7题:
使用VC6打开考生文件夹下的工程test29_1,此工程包含一个源程序文件test29_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
A:no parameters
B:int parameter
A:no parameters
B:int parameter
C:int parameter
源程序文件test29_1.cpp清单如下;
include <iostream.h>
class A
{
/***************** found *****************/
private:
A(){ cout<<"A:no parameters\n";}
A(int a) {cout<<"A: int parameter\n";}
};
class B:public A
{
public:
B(int a){cout<<"B:int Parameter\n";}
};
/***************** found *****************/
class C:public B,public A
{
public:
/***************** found *****************/
C(int a) ::B(a) {cout<<"C: int parameter\n"; )
};
void main ( )
{
B b(1);
C c(2);
}
第8题:
使用VC6打开考生文件夹下的工程test30_1,此工程包含一个源程序文件test30_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:
Previous=9,Next=11
源程序文件test30_1.cpp清单如下:
include <iostream.h>
/***************** found *****************/
void prevnext (int,int &,int&);
int main ( )
{
int x=10,y,z;
prevnext (x,y,z);
cout << "Previous=" << y << ", Next=" << z<<end1;
return 0;
}
/***************** found *****************/
void prevnext (int x, int prev, int next)
{
/***************** found *****************/
prev=x--;
next=++x;
}
第9题:
使用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;
}