有以下程序: #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<<cl.area()<<endl;return 0; } 程序执行后的输出结果是
A.314
B.157
C.78.5
D.153.86
参考答案:A
解析: 本题考核派生类的定义和应用。本程序设计了一个点类Point,包含了横、纵两个坐标数据x和y,由它派生出了圆类Circle,并加入了新的数据成员,即一个半径r和一个求圆面积的函数成员area。 在主函数main中,首先定义了一个圆Circle类的对象c1,并通过它的构造函数初始化其数据成员。由此可知,其半径r的值为10,所以其面积为 PI*10*10=314,即对象c1的函数成员area的返回值为314。