更多"使用VC++6.0打开考生文件夹下的源程序文件3.cpp。程序通过继承"的相关试题:
[简答题]使用VC6打开考生文件夹下的工程MyProj9。此工程包含一个源程序文件MyMain9.cpp。程序中定义了两个类Point和Circle,但类的定义并不完整。
请按要求完成下列操作,将类Sample的定义补充完成:
①类Circle是基类Point公有派生宋的。请在注释“//* *1* *”之后添加适当的语句。
②完成构造函数Circle(int a,int b,int c)的定义,采用初始化列表的方式使基类Point私有成员x、y分别初始化为a、b,类Circle的私有成员r初始化为c。请在注释“//* *2* *”之后添加适当的语句。
③完成类Circle的成员函数area( )的类体外的定义。函数area的功能是计算出此圆对象的面积,即PI*r*r。请在注释“//* *3* *”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件MyMain9.cpp清单如下:
//MyMain9.cpp
#include <iostream>
using namespace std;
#define PI 3.14
class Point
private:
int x, y;
public:
Point (int a, int b)
x=a;
y=b;
int getx ( )
return x;
int gety( )
return y;
;
//* *1* *
private:
int r;
public:
//* *2* *
int getr( )
retur
[填空题]使用VC++6.0打开考生文件夹下的源程序文件3.cpp。程序通过继承关系,实现对姓名的控制。类TC1实现对名字访问的接口,TC2实现对名字的设置和输出。
程序输出为
TC2Name
May
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)在类TC1中定义接口函数GetName为纯虚函数。请在注释1后添加适当的语句。
(2)函数GetName2用于获得名字的缓存,但只获得允许读操作这个缓存,请在注释2后添加适当的语句。
(3)实现TC2的构造函数,请在注释3后添加适当的语句。
(4)完成TC2的构造函数,实现对名字的处理。请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include<iostream.h>
class TC1
public:
//********1********
;
class TC2:public TC1
public:
void GetName( )
cout<<"TC2Name"<<end1;
//********2********
return m_str;
//********3********
int 1;
for(i=0;str[i]!=0;i++)
m_str[i]=str[i];
//********4********
private:
char m_str[32];
;
void main( )
TC1 *p;
TC2 obj1("May");
p=&obj1;
p—>GetName( );
cout<<obj1.GetName2( )<<end1;
return;
[简答题]使用VC6打开考生文件夹下的工程proj1。此工程包含一个源程序文件mainl.cpp,但该程序运行有问题。请改正主函数中的错误,使程序的输出结果是:
member = 0
member = 5
member = 10
源程序文件 mainl.cpp 清单如下:
//mainl.cpp
#include <iostream>
using namespace std;
class MyClass
public:
MyClass(int i)
member=i;
void SetMember(int m)
member=m;
int GetMember( )const
return member;
void Print( ) const
cout<<"member="<<member<<end1;
private:
int member;
;
int main( )
/***************found***********/
MyClass obj1;
obj1. Print( );
MyClass obj2(3);
/***************found***********/
obj1.member = 5;
/***************found***********/
MyClass. SetMember(10);
obj1. Print( );
obj2. Print( );
return 0;
[简答题]使用VC6打开考生文件夹下的工程RevProj8。此工程包含一个源程序文件 RevMain8.cpp。在该文件中,函数resort的功能是:能在一个数列中,对从指定位置开始的几位数,按相反顺序重新排列,并在主函数中输出新的序列。
请改正程序中的错误,使它能得到正确结果。
注意,不要改动main函数,不得删行或增行,也不得更改程序的结构。
源程序文件RevMain8.cpp中的程序清单如下:
//RevMain8.cpp
#include <instream>
using namespace std;
void resort(int arr[],int where,int amount);
int main ( )
int number [20] ,where, arrount, i;
cout<<"Input 20 numbers/n";
for (i=0; i<20; i++)
cin>>number [i];
cout<<"How many do you want to sort: ";
cin>>arrount;
cout<<"/n where do you want to start: ";
cin>>where;
cout<<"old array as follow:/n";
for (i=0; i<20; i++)
cout<<nmuber [i] <<" ";
resort (number,where, arrount);
cout<<"/n resorted array as follow:/n";
for (i=0; i<20; i++)
cout<<number [i] <<" ";
cout<<end1;
return 0;
void resort(int array[],in
[简答题]使用VC6打开考生文件夹下的工程RevPrroj7。此工程包含一个源程序文件 RevMain7.cpp。在该文件中,函数fun( )的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII码值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如:若a中的字符串为aBCDeFgH,b中的字符串为ABcd,则c中的字符串为 aBcdeFgH。
请改正程序中的错误,使它能得到正确结果。
注意,不要改动主函数,不得删行或增行,也不得更改程序的结构。
源程序文件RevMain7.cpp中的程序清单如下:
//RevMain7.cpp
#include<iostream>
#include<string>
using namespace std;
void fun(char *p,char *q,char *c)
int k=1;
while(*p!=*q)
if(*p<*q)
c[k]=*q;
else
c[k]=*p;
if(*p)
p++;
if(*q)
q++;
int main( )
char a[10]="aBCDeFgH",b[10]="ABcd",c[80]=’/0’;
fun(a,b,c);
cout<<"The string a is "<<a<<’/n’;
cout<<"The string b is "<<b<<’/n’;
cout<<"The string c is "<<c<<endl;
return 0;
[简答题]使用VC6打开考生文件夹下的工程RevProj10。此工程包含一个源程序文件RevMain10.cpp。在该文件中,函数fun的功能是:计算出数组x中的最小值与次最小值,并分别将其与x[0]、x[1]交换。
请改正程序中的错误,使它能得到正确结果。
注意,不要改动主函数,不得删行或增行,也不得更改程序的结构。
源程序文件RevMain10.cpp中的程序清单如下:
//RevMain10.cpp
#include <iostream>
using namespace std;
#define N 30
int fun(int *x, int n);
int main ( )
int h[N]=4,7, 6, 5, 1, 7,3, 8,0,2,3;
int i;
for (i=0; i<11; i++)
cout<<h [i] << " " ;
cout <<"/n";
fun(h, 11);
for (i=0; i<n; i++)
cout<<h [i]<<" ";
cout<<’ /n’;
return 0;
int fun(int *x, int n)
int i,t;
int a1=0, a2=0,min1=32767,min2=32676;
/* * * * *FOUND * * * * */
for(i=1;i<n;i++)
if (x [i]<min1)
min2=min1;
a2=a1;
min1=x [i];
a1=i;
else if (x [i] <min2)
[简答题]使用VC6打开考生文件夹下的工程MyProj11。此工程包含一个源程序文件 MyMain11.cpp。程序中定义了3个类A、B和C,但类C的定义并不完整。
请按要求完成下列操作,将类的定义补充完成:
①类C是基类A和B公有派生来的。请在注释“//* *1* *”之后添加适当的语句。
②完成构造函数C(int k)定义,采用初始化列表的方式使基类A私有成员a初始化为k-2,基类B的私有成员b初始化为k+2,类C的私有成员c初始化为k。请在注释“//* *2* *”之后添加适当的语句。
③完成类Derived的成员函数disp( )的类体外的定义。函数disp( )中要分别显式调用基类A、B的disp( )函数,然后要输出私有成员c的值。请在注释“//* *3* *”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件MyMain11.cpp清单如下;
//MyMain11.cpp
#include <iostream>
using namespace std;
class A
private:
int a;
public:
A(int i) a=i;
void disp( )
cout<<a<<" , "
;
class B
private:
int b;
public:
B(int j) b=j;
disp ( )
cout<<b<<", ";
;
//* * *1* * *
private:
int c;
public:
//* * *2* * *
void disp( );
;
[简答题]使用VC6打开考生文件夹下的工程RevProj11。此工程包含一个源程序文件RevMain11.cpp,但在源程序文件中有错误。请改正程序中的错误,使它能得到正确结果。
注意,不得删行或增行,也不得更改程序的结构。
源程序文件RevMainll.cpp中的程序清单如下:
//RevMainll.cpp
#include<iostream>
using namespace std;
class point
private:
const int color;
int x;
int y;
public:
point(int x,int y,int c)
this->x=x;
this->y=y;
color=c;
void show( )
cout<<"x="<<x<<",y="<<y<<",color="<<color<<end1;
;
int main( )
const point p(10,10,100);
p.show( );
return 0;
[简答题]使用VC6打开考生文件夹下的工程RevProj3。此工程包含一个源程序文件 RevMain3.cpp。阅读文件中的程序代码,找出程序中的错误,并改正。
源程序文件RevMain3.cpp清单如下:
//RevMain3.cpp
#include<iostream>
using namespace std;
class MyClass{
public:
/* * * * * * * * *found * * * * * * * * * */
void MyClass(int a){ value=a;}
int Max(int x,int y)
{
if(x>y)
return x>yx:y;
else
return y>valuey:value;
}
/* * * * * * * * *found * * * * * * * * * */
~MyClass(int a)
{
value=a;
}
private:
int value;
};
int main( )
{
MyClass my(10);
cout<<my.Max(20,30)<<end1;
return 0;
}