( 12 ) “ 图形 ” 类 Shape 中定义了纯虚函数 CalArea() ,“ 三角形 ” 类 Triangle 继承了类Shape ,请 将
Triangle 类中的 CalArea 函数补充完整。
class Shape{
public:
virtual int CalArea()=0;
}
class Triangle: public Shape{
public:
Triangle{int s, int h}: side(s),height(h) {}
【 12 】 { return side*height/2 ; }
private:
int side;
int height;
};
第1题:
39、下面是类Shape的定义:class Shape {public: virtual void Draw()=0; }; 下列关于Shape类的描述中,正确的是()。
A.类Shape是虚基类
B.类Shape是抽象类
C.类Shape中的Draw函数声明有误
D.语句“Shape s;”能够建立Shape的一个对象s
第2题:
定义一个抽象类Shape,并派生出类Rectangel和Circle,二者都有计算面积的函数getArea,在主函数中定义一个Shape指针数组分别指向Rectangel和Circle的对象,并通过Shape类的指针数组实现对这两个对象的成员函数的调用,以输出圆和矩形的面积。
第3题:
设计一个几何图形的面积计算器,希望这个计算器可以计算圆、三角形和矩形等图形的面积,主要包括了抽象类Shape与其2个子类、面积计算器类Calculator、以及主类Main的设计。
第4题:
【其它】声明一个shape基类,有计算面积arae()成员函数,由此派生出正方形类(Square)、直角三角形类(Triangle)、圆类(Circle),它们都有arae()成员函数。利用虚函数编程计算正方形、直角三角形和圆的面积之和。
第5题:
下列纯虚函数描述错误的是()
A.纯虚函数的声明形式为:virtual 返回类型 函数名(形式参数)=0;
B.只要定义了纯虚函数的类,就是抽象类,不能用来声明对象实例
C.纯虚函数不具有继承性
D.纯虚函数的作用就是在基类中为其派生类保留一个函数的名字,以便派生类根据需要对其进行定义