若有以下程序: #include <iostream> using namespace std; #define PI 3.14 class Point { private: int x,y; publ

admin2010-03-29  23

问题 若有以下程序:    #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;       }    };    class Circle  : public Point    {    private:       int r;    public:       Circle(int a, int b,int c)  :Point(a,b)       {          r=c;       }       int getr()       {          return r;       }       double area()       {          return PI*r*r;       }    };    int main()    {       Circle  c1(5,7,10);       cout<<c1.area()<<end1;       return 0;    }    程序执行后的输出结果是(   )。

选项 A、314
B、157
C、78.5
D、153.86

答案1

解析 本题考核派生类的定义和应用。本程序设计了一个点类Point,包含了横、纵两个坐标数据x和y,由它派生出了圆类Circle,并加入了新的数据成员,即一个半径数据,和一个求圆面积的函数成员area。  在主函数中,首先定义了一个圆Circle类的对象c1,并通过它的构造函数初始化其数据成员。由此可知,其半径r的值为10,所以其面积为PI*10*10=314,即对象c1的函数成员area的返回值为314。
转载请注明原文地址:https://jikaoti.com/ti/FyW0FFFM
0

最新回复(0)