使用VC6打开考生文件夹下的工程test40_3。此工程包含一个test40_3.cpp,其中定义了类CVector,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)完成类CVector构造函数的定义,把传入的int型参数a和b分别赋值给类的成员变量x和y。请在注释“//**1**”之后添加适当的语句。(2)完成类CVector的“+”运算符重载函数的定义,使Cvector类的两个对象相加时可以直接使用符号“+”,并且结果仍然为类Cvector的对象,请在注释“//**2**”之后添加适当的语句。(3)在主函数中添加适当的语句,把类Cvector的对象a和b相加,并且把结果保存在对象c中,最后以“x,y”的形式输出在屏幕上,请在注释“//**3**”之后添加适当的语句。源程序文件test40_3.cpp清单如下:include <iostream.h>class CVector{public:int x,y;CVector () {};CVector (int,int);CVector operator + (CVector);};CVector::CVector (int a, int b){//**1**}CVector CVector::operator+ (CVector param){//**2**temp.y = y + param.y;return (temp);}int main (){CVector a (3,1);CVector b (1,2);CVector c;//**3**return 0;}
使用VC6打开考生文件夹下的工程test19_3,此工程包含一个源程序文件test19_3.cpp,其中定义了用于表示向量的类 vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。(1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。(2)完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句。(3)完成类vector的友元函数friend double Multiply (vector x,vector y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在注释“//**3**”之后添加适当的语句。输出结果如下:(10,20)(2, 3)80注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test19_3.cpp清单如下:include <iostream.h>class vector{int a;int b;public://**1**void input(int x, int y){//**2**}void output (){cout<<'('<<a<<','<<b<<")"<<end1;}friend double Multiply(vector x,vector y);}double Multiply (vector x,vector y){//**3**c=x.a*y.a+x.b*y.b;return c;}void main(){vector x(10,20),y;double d;y.input (2,3);d=Multiply (x,y);x. output ( );y. output ( );cout<<d<<end1;}
使用VC6打开考生文件夹下的工程test4_1,此工程包含一个源程序文件test4_1.cpp,但该程序在类的定义中存在问题,请改正类定义中的错误,使程序的输出结果如下:a=3 b=13a=5 b=13注意:请勿修改主函数main中的任何内容。源程序文件rcst4_1.cpp清单如下:include<iostream.h>class T{public:/*********found***+******/T(int x){a=x; b+=x;)/+********found**********/void display(T c){ cout<<"a="<<c.a<<"\t"<<"b="<<c.b<<endl;)private:const int a;static int b;};/**********found*********/int b=5;void main(){T A(3),B(5);T::display(A);T::display(B);}
使用VC6打开考生文件夹下的工程proj2。此工程包含一个源程序文件main2.cpp,但该程序运行有问题。请改正main函数中的错误。源程序文件main2.cpp清单如下://main2.cppinclude <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;}
使用VC6打开考生文件夹下的工程MyProj15。此工程包含一个源程序文件MyMain15.cpp。程序中定义了3个类A、B和C,但类的定义并不完整。请按要求完成下列操作,将类的定义补充完成:①类Inherit是类Base的公有派生类。请在注释“//* *1* *”之后添加适当的语句。②完成类Inherit成员函数setvalue(int a,int b,int c,int d)的定义,此函数实现的功能是将基类成员x、y、z和派生类的数据成员m的值分别设置成a、b、c和d。请在注释“//* *2* *”之后添加适当的语句。③完成类Inherit成员函数display()的类体外定义,此函数实现的功能是以“,,,,”的格式将x、y、z和m的值输出到屏幕上。请在注释“//* *3* *”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件MyMain15.cpp清单如下://Mymain15.cppinclude<iostream>using namespace std;class Base{private:int x;protected:int y;public:int z;void setx(int i){x=i;}int getx()const{return x;}};//* * *1* * *{private:int m;public:void setvalue(int a,int b,int c,int d){//* * *2* * *}void display()const;};//* * *3* * *int main(){Inherit A;A.setvalue(1,2,3,4);A.display();return 0;}
使用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;}
使用VC6打开考生文件夹下的工程RevProj15。此工程包含一个源程序文件RevMain15.cpp,但该程序中类的定义有错误。请改正程序中的错误,使它能得到正确结果。注意,不要改动主函数,不得删行或增行,也不得更改程序的结构。源程序文件RevMain15.cpp中的程序清单如下://RevMain15.cppinclude<iostream>using namespace std;class Sample{private:int x;static int y;public:Sample(int a){x=a;y+=x;}static void print(Sample s){cout<<"x="<<x<<",y="<<y<<end1;}Sample::y=5;int main(){Sampel s1(10);Sample s2(15);Sample::print(s1);Sample::print(s2);return 0;}
使用VC6打开考生文件夹下的工程MyProj12。此工程包含一个源程序文件MyMain12.cpp。程序中定义了两个类Base和Derived,但类的定义并不完整。请按要求完成下列操作,将类的定义补充完成:①类Derived是基类Base公有派生来的。请在注释“//* *1* *”之后添加适当的语句。②完成构造函数Derived(int x)定义,采用初始化列表的方式使基类Base私有成员a初始化为x,类Derived的私有成员b初始化为x+1。请在注释“//* *2* *”之后添加适当的语句。③完成类Derived的成员函数show()的类体外的定义。函数show()中要输出基类数据成员a的值,然后要输出私有成员b的值。请在注释“//* *3* *之后添加适当的语句。注意;除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件MyMain12.cpp清单如下://MyMain12.cppinclude<iostream>using namespace std;class Base{public:int a;Base(int i){a=i;}};//* * * 1 * * *{private:int b;public://* * * 2 * * *void show();};void Derived::show(){//* * * 3 * * *}int main(){Derived d(1);d.show();return 0;}
使用VC6打开考生文件夹下的工程MyProj10。此工程包含一个源程序文件MyMain10.cpp。程序中定义了两个类Base和Derived,但类的定义并不完整。请按要求完成下列操作,将类的定义补充完成:①类Derived是基类Base公有派生来的。请在注释“//* *1* *”之后添加适当的语句。②完成构造函数Derived(int i)定义,采用初始化列表的方式使基类Base私有成员a初始化为i+1,类Derived的私有成员b初始化为i。请在注释“//* *2* *”之后添加适当的语句。③完成类Derived的成员函数show()的类体外的定义。函数show()中要显式调用基类的show()函数,然后要输出私有成员b的值。请在注释“//* *3**”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件MyMain10.cpp清单如下://MyMain10.cppinclude<iostream>using namespace std;class Base{public:Base(int x){a=x}void show(){cout<<a;}private:int a;};//* * *1* * *{public://* * * 2 * * *void show();private:int b;};void Derived :: show(){//* * * 3 * * *}int main(){Derived d(1), *pb;pb=d;pb->show();return 0;}