网友您好, 请在下方输入框内输入要搜索的题目:
使用VC6打开考生文件夹下的工程test12_3,此工程包含一个test12_3.cpp,其中定义了类Base和类A,类A公有继承 Base,但这两个类的定义都并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义枚举类型变量en,它包含两个枚举符front和back,请在注释“//**1**”之后添加适当的语句。
(2)在类Base中添加常成员虚函数void E()的定义,该函数输出“In Base E!”,请在注释“//**2**”之后添加适当的语句。
(3)在类A中添加常成员虚函数void E()的定义,该函数先调用基类中的虚函数 E()再输出“In AE!”,请在注释“//** 3**”之后添加适当的语句。
(4)完成类A构造函数的定义,请使用参数列表的形式初始化类A的成员,并输出“A constructor.”,请在注释“//** 4**”之后添加适当的语句。
输出结果如下:
Base constructor.
A constructor.
In BaseE!
In AE!
In BaseP!
In A!
1
A destructor.
Base destructor.
注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。
源程序文件test12_3.cpp清单如下:
include<iostream .h>
// ** 1 **
class Base
{
protected:
int b1;
int b2;
public:
Base();
~Base();
int Getb1()const { return b1; }
void Setb1(int x){ b1 = x; }
int Getb2()const { return b2; }
void Setb2(int y) { b2 = y; }
void Print()const {cout<<"In Base P!"<<end1;}
// ** 2 **
};
Base::Base():b1(1),b2(5)
{
cout<<"Base constructor."<<endl;
}
Base::~Base()
{
cout<<"Base destructor."<<endl;
}
class A:public Base
{
protected:
en enA;
public:
A();
~A();
en GetColor()const { return enA; }
void SetColor(en color){ enA = color; }
void InA(){cout<<"In A!"<<endl;}
// ** 3 **
{
Base::E();
cout<<"In AE!"<<endl;
}
};
// ** 4 **
{
cout<<"A constructor."<<endl;
}
A::~A()
{
cout<<"A destructor."<<endl;
}
void main()
{
A a1;
a1.E();
cout<<endl;
a1.Print();
a1.InA();
cout<<a1.Getbl()<<endl;
}
参考答案