使用VC6打开考生文件夹下的工程test42_3。此工程包含—个test42_3.cpp,其中定义了类Cpolygon、COutput和CTriangle,其中CTriangle类由Cpolygon和COutput类public派生,但三个类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类CPolygon的保护数据成员width和height,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。
(2)完成类CPolygon的成员函数set_values(int a,int b),使参数a和b分别赋值给保护数据成员width和height,请在注释“//**2**”之后添加适当的语句。
(3)完成类Coutput的成员函数output(int)的定义,将传入的参数为血型的i输出到屏幕并换行,请在注释“//**3**”之后添加适当的语句。
(4)完成派生类CTriangle的声明,它由Cpolygon和COutput类public派生,请在注释“//**4**”之后添加适当的语句。
源程序文件test42_3.cpp清单如下:
include <iostream.h>
class CPolygon
{
protected:
// ** 1 **
public:
void set_values(int a, int b)
{
// ** 2 **
}
};
class COutput
{
public:
void output(int i);
};
void COutput::output(int i)
{
// ** 3 **
}
// ** 4 **
{
public:
int area (void)
{
return (width * height / 2);
}
}
int main ()
{
CTriangle trgl;
trgl.set_values (4,5);
trgl.output (trgl.area());
return 0;
}
正确答案:(1) int width height;(2) width=a; height=b;(3) cout i endl;(4) class CTriangle:public CPolygon public Coutput(1) int width, height;(2) width=a; height=b;(3) cout i endl;(4) class CTriangle:public CPolygon, public Coutpu
(1)定义类CPolygon的保护数据成员width和height,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。
(2)完成类CPolygon的成员函数set_values(int a,int b),使参数a和b分别赋值给保护数据成员width和height,请在注释“//**2**”之后添加适当的语句。
(3)完成类Coutput的成员函数output(int)的定义,将传入的参数为血型的i输出到屏幕并换行,请在注释“//**3**”之后添加适当的语句。
(4)完成派生类CTriangle的声明,它由Cpolygon和COutput类public派生,请在注释“//**4**”之后添加适当的语句。
源程序文件test42_3.cpp清单如下:
include <iostream.h>
class CPolygon
{
protected:
// ** 1 **
public:
void set_values(int a, int b)
{
// ** 2 **
}
};
class COutput
{
public:
void output(int i);
};
void COutput::output(int i)
{
// ** 3 **
}
// ** 4 **
{
public:
int area (void)
{
return (width * height / 2);
}
}
int main ()
{
CTriangle trgl;
trgl.set_values (4,5);
trgl.output (trgl.area());
return 0;
}
正确答案:(1) int width height;(2) width=a; height=b;(3) cout i endl;(4) class CTriangle:public CPolygon public Coutput(1) int width, height;(2) width=a; height=b;(3) cout i endl;(4) class CTriangle:public CPolygon, public Coutpu