有以下程序:
#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()<<endl;
return0;
程序执行后的输出结果是
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。