请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下所示: 公有成员函数 功能 push 入栈:在栈顶位置添加一个元素 pop 退栈:取出并返回栈顶元素 ArrayStack是Stack的派生类,它实现了Stack定义的接口。ArrayStack内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize表示的是栈的最大容量,top用于记录栈顶的位置。成员函数push和pop分别实现具体的入栈和退栈操作。 请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为: a,b,C C,b,a 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****料found****”。 //proj2.cpp include using namespacc std; class Stack{ public: virtual void push(char C)=0; virtual char pop=0; };
class ArrayStack:public Stack{ char*P; int maxSizc; int top; public: ArravStack(int s) { top=0; maxSize=s: //*********found********* P=______; } ~ArrayStack { //*********found********* _______; } void push(char c) } if(top==maxSize){ cerr$amp;
使用VC6打开考生文件夹下的工程test23_1,此工程包含一个源程序文件test23_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
i
iz
O
12
22
源程序文件test23_1.cpp清单如下:
include<iostream.h>
include<stdio.h>
class innerclass
{
int x;
public:
/****************found*******************/
innerclass(int z) { x=z; cout<<"iz"<<endl;};
/****************found*******************/
void write() {print("%dn",x);}
}
class outerclass
{
int y;
innerclass g;
innerclass *h;
public:
outerclass(int a);
void write() { printf("%dn",y); }
void write_inner_g() {g.write(); }
void write_inner_h() {h->write();}
};
outerclass::outerclass(int a)
{
/****************found*******************/
h=new innerclass(12);
cout<<"o"<<endl;
}
int main ()
{
outerclass ob(22);
ob.write_inner_h();
ob.write();
return 1;
}
使用VC6打开考生文件夹下的工程test2_1,此工程包含一个源程序文件test2_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果如下:
调用基类BASE的构造函数:1
调用基类BASE的构造函数:2
调用派生类A的构造函数:3
调用派生类A的析构函数
调用基类BASE的析构函数
调用基类BASE的析构函数
源程序文什test2_1.cpp清单如下:
include<iostream.h>
class BASE
{
public:
BASE(int i){cout<<"调用基类BASE的构造函数:"<<i<<endl;}
~BASE(){cout<<"调用基类BASE的析构函数"<<endl;)
/***************** found *****************/
}
class A:public BASE
{
public:
/***************** found *****************/
A(int a,int b):i(a),b(b)
{cout<<"调用派生类A的构造函数:"<<a+b<<endl;}
~A(){cout<<"调用派生类A的析构函数"<<endl;)
private:
BASE b;
};
void main()
{
/****************found***************/
BASE obj(1,2);
}
使用VC6打开考生文件夹下的工程test9_3,此工程包含一个源程序文件test9_3.cpp,其中定义了Circle类与Money类, Circle类可对半径为r的圆进行周长与面积的计算,而Money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。请按要求完成下列操作,将程序补充完整。
(1)定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定宽度。请在注释“//**1**”之后添加适当的语句。
(2)定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。请在注释 “//**2**” 后添加适当的语句。
(3)完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。请在注释“//**3**”之后添加适当的语句。
(4)完成Money类成员函数floatMoney::TotalMoney(noat fencelen,float conarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。请在注释“//**4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test9_3.cpp清单如下:
include<iostream.h>
//**1**
class Circle
{
private:
float radius;
public:
//**2**
float Circumference(){return 2 * PI * radius;)
float Area(){return PI * radius * radius;)
};
class Money
{
private:
float FencePrice;
float ConcretePrice;
public:
Money(float f,float c);
float TotalMoney(float fencelen, float conarea);
};
Money::Money(float f,float c)
{
//**3**
}
float Money::TotalMoney(float fencelen,float conarea)
{
//**4**
}
void main()
{
float radius,fence,concrete;
cout.setf(10s::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
cout<<"Enter the radius of the pool:";
cin>>radius;
cout<< "Enter the FencePrice:";
cin>>fence;
cout<<"Enter the ConcretePrice:";
cin>>concrete;
Circle Pool(radius);
Circle PoolRim(radius + WIDTH);
Money mon(fence,concrete);
float totalmoney=mon.TotalMoney(PoolRim.Circumference(),(PoolRim.Area() - P00l.Area()));
cout<<"The total money is RMB"<<totalmoney<<endl;
}
使用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>y?x:y;
else
return y>value?y:value;
}
/* * * * * * * * *found * * * * * * * * * */
~MyClass(int a)
{
value=a;
}
private:
int value;
};
int main()
{
MyClass my(10);
cout<<my.Max(20,30)<<end1;
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>y?x:y;
else
return y>value?y:value;
}
/* * * * * * * * *found * * * * * * * * * */
~MyClass(int a)
{
value=a;
}
private:
int value;
};
int main()
{
MyClass my(10);
cout<<my.Max(20,30)<<end1;
return 0;
}
在下面程序的横线处填上适当的语句,使该程序执行结果为10。
include <iostream>
using namespace std;
class MyClass
{
public:
MyClasS(int A)
{
X=a;
}
【 】//取x的值
private:
int x;
};
int main()
{
MyClass my(10);
使用VC6打开考生文件夹下的工程test20_3,此工程包含一个源程序文件tes00_3.cpp,其中定义了用于表示复数的类comp,但类comp的定义并不完整。请按要求完成下列操作,将类comp的定义补充完整。
(1)定义comp的构造函数,函数含参数x和y,它们都是in,型的数据,默认值都为0,请使用参数列表的形式分别将类数据成员a和b初始化x和y的值。请在注释“//**1**”之后添加适当的语句。
(2)完成类comp的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员s和b,请在注释“//**2**”之后添加适当的语句;
(3)完成类comp的友元函数friend compplus(comp &x,comp &y)的定义,该函数首先要定义一个comp类的对象c,然后将参数x和y的数据成员a与b分别相加并分别赋值给c的成员a和b,最后返回c的值,请在注释“//**3**”之后添加适当的语句。输出结果如下:
10+20i
2+3i
result:12+23i
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test20_3.cpp清单如下:
include <iostream.h>
class comp
{
int a;
int b;
public:
//**1**
friend comp plus(comp &x, comp &y);
void input(int x,int y)
{
//**2**
}
void output ()
{
cout<<a<<'+'<<b<<"i"<<end1;
}
};
comp plus(comp &x, comp &y)
{
//**3**
c.b=x.b+y.b;
return c;
}
void main()
{
comp x(10,20),y,z;
y.input(2,3);
z=plus(x,y);
x.output();
y.output();
cout<<"result:";
z.output();
}
下列程序段的输出结果是【 】。
include<iostream.h>
void main()
{int i=10,sum=0;
do
{
sum=+sum+i;
i=i-2;
}while(i>=2);
cout<<sum<<end1;
}
长理培训客户端 资讯,试题,视频一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>