有如下类定义:class Point{public:Point(int xx=0,int yy=0):x(xx),y(yy) { }private:int x,y;};class Circle:public Point{public:Circle(int r):radius(r) { }private:int radius;};派生类Circle中数据成员的个数是( )。A、3B、1C、5D、2

题目

有如下类定义:

class Point{

public:

Point(int xx=0,int yy=0):x(xx),y(yy) { }

private:

int x,y;

};

class Circle:public Point{

public:

Circle(int r):radius(r) { }

private:

int radius;

};

派生类Circle中数据成员的个数是( )。

A、3

B、1

C、5

D、2


相似考题
更多“有如下类定义:class Point{public:Point(int xx=0,int yy=0) ”相关问题
  • 第1题:

    有如下类定义:

    class XX{

    int XX;

    public:

    xx():xx(0){tout<<A;}

    XX(int n):xx(n){cout<<B;}

    };

    class Y:Y:public XX{

    int YY;

    public:

    YY():YV(O){cout<<YY;)

    YY(int n):xx(n+1),YY(n){cout<<YY;}

    YY(int m,int n):XX(m),YY(n){cout<<yy;)

    };

    下列选项中,输出结果为A0的语句是

    A.YY yl(0,0);

    B.YY 72(1);

    C.YY y3(0);

    D.YY y4;


    正确答案:D
    解析:建立派生类对象时,构值函数的执行顺序为:执行基类的构造函数一执行成员对象的构造函数一执行派生类的构造函数。D)选项定义对象y4时没有传人任何值,则先调用基类的构造函数.XX( ),输出‘A。,然后调用派生类的构造函数YY( ),输出yy=0,最终输出为A0。故本题答案为D)。

  • 第2题:

    有如下类定义:class Point{int x__, y__;public:Point(): x_(0), y_(0) {}Point(int x, int y =0): x_(x), y_(y) {}若执行语句Point a(2),b[3], *c[4];则Point 类的构造函数被调用的次数是( )。

    A.2次

    B.3次

    C.4次

    D.5次


    正确答案:C

  • 第3题:

    有如下类定义: class XX{ int xdata: public: xx(int n=0):xdata(n){} } class YY:public XX{ int ydata; public: YY(int m=0,int n=0):xx(m),ydata(n){ } {; YY类的对象包含的数据成员的个数是

    A.1

    B.2

    C.3

    D.4


    正确答案:B
    解析:派生类继承基类,继承了基类的数据成员和成员函数,加上派生类自己新定义的数据成员,所以该类应该有2个数据成员。

  • 第4题:

    有如下程序: #inClude<iostream> using namespaCe std; Class Point{ publiC: statiC int number; publiC: Point( )t.number++;} ~Point( ){number--;} }; , int P0int::number=0; int main( ){ Point *ptr: Point A,B; Point*ptr_point=new Point[3]; ptr=ptr_point;’ } Point C; Cout<<Point:::number<<endl; delete[]ptr; return 0; } 执行这个程序的输出结果是( )。

    A.3

    B.4

    C.6

    D.7


    正确答案:C
    本题考查默认构造函数.题目中定义.个对象A、B以及对象数组Point[3],又定义了对象C,共执行6次构造函数,number变为了6,所以本题答案为C。

  • 第5题:

    有如下类定义: class Point { int x_,y_; public: Point():x_(0),y_(0){} Point(int x,int y=0):x_(x),y_(y){} }; 若执行语句 Point a(2),b[3],*c[4]; 则Point类的构造函数被调用的次数是

    A.2次

    B.3次

    C.4次

    D.5次


    正确答案:C
    解析:本题考查的知识点是类的构造函数。构造函数在对象被创建的时候由系统自动调用。在Point a(2),b[3],*c[4];语句中:a(2)是定义一个对象并传入构造参数2,所以此时会调用1次构造函数:b[3]是定义一个包含3个对象的数组,所以构造函数会被调用3次;而*c[4]定义的是一个包含4个Point类对象指针的数组,它并没有创建任何Point对象,故构造函数一次也不会被调用。故应该选择C。