( 13 )有如下类定义和变量定义:class Parents{public:int publicuata;private:int privateData;};class ChildA:public Parents{/* 类体略 */};class ChildB:private Parents{/* 类体略 */ ) ;ChildA a;ChildBb;下列语句中正确的是A ) cout<<a.publicData <<endl ;B ) cout<<a.privateData <<endl ;C ) c

题目

( 13 )有如下类定义和变量定义:

class Parents{

public:

int publicuata;

private:

int privateData;

};

class ChildA:public Parents{/* 类体略 */};

class ChildB:private Parents{/* 类体略 */ ) ;

ChildA a;

ChildBb;

下列语句中正确的是

A ) cout<<a.publicData <<endl ;

B ) cout<<a.privateData <<endl ;

C ) cout<<b.publicData <<endl ;

D ) cout<<b.privateData <<endl ;


相似考题
更多“( 13 )有如下类定义和变量定义:class Parents{public:int publicuata;private:int privateData;} ”相关问题
  • 第1题:

    下列选项中,列出用于定义类成员的访问控制权的一组保留字是______。

    A.float,boolean,int,long

    B.class,float,double,public

    C.char,extends,float,double

    D.public,private,protected


    正确答案:D

  • 第2题:

    下列选项中,列出用于定义类成员的访问控制权的一组保留字是()。

    A.class.float.double.public

    B.fioat.Boolean.int,long

    C.char.extends.float.double

    D.public.private.protected


    正确答案:D

  • 第3题:

    有如下类定义,请将Sample类的拷贝构造函数补充完整。 class Sample { public: Sample(){} ~Sample(){if(p)delete p;} Sample(const Sample&s){ p=new int; *p=___________; } void SetData(int data) {p=new int(data);} void print(){cout<<*p<<endl;} private: int*p; };


    p=new int;p=s.p; p=new int;p=s.p; 解析:此题考查的是复制构造函数。复制构造函数定义的一般格式如下:类名::类名(const类名&引用对象名){复制构造函数体)。而在类中的声明部分可省去“类名::”。

  • 第4题:

    有如下类定义和变量定义: class Parents{ public: int publicData: private: int privateData; }; class ChildA:public Parents{/类体略*/}; class ChildB:private Parents{/类体略*/}; ChildA a; ChildB b; 下列语句中正确的是

    A.cout<<a.publicData<<endl;

    B.cout<<a.privateData<<endl;

    C.cout<<b.publieData<<endl;

    D.eout<<b.privateData<<endl;


    正确答案:A
    解析:派生类公有继承基类时,可以访问基类中的公有成员和保护成员;派生类私有继承基类时,不能访问基类中的任何成员。

  • 第5题:

    阅读下列说明和C++代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
    【说明】
    以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分类及其关系如图6-1所示。



    【C++代码】
    #include?#include?using?namespace?std;class?DrawCircle?{??????//绘制圆形,抽象类? ? ? public: (1);//定义参数为?int?radius,?int?x,?inty? ?virtual~DrawCircle()?{?}};class?RedCircle:public?DrawCircle?{????//绘制红色圆形? ? ? ? public: void?drawCircle(intradius,?int?x,?int?y)?{cout?<?drawCircle?=?drawCircle;? }? ?virtual~shape()?{?}? public:? ?virtual?void?draw()?=?0;};class?Circle:public?Shape?{????//圆形? ? private:? ? ?int?x,y,radius;? ? public:? Circle(int?x,inty,int?radius,DrawCircle?*drawCircle)? (3)? {? this->x?=?x;? ?this->y?=?y;? ? this->radius?=?radius; }? ? ? public:? void?draw(){? drawCircle?-> (4); }};int?main(){Shape?*redCirclenew?Circle(100,100,10,????(5)????);//绘制红色圆形? Shape?*greenCircle=new?Circle(100,100,10, (6)??);//绘制绿色圆形redCircle >draw();? ?greenCircle?->draw();? ?return?0;}


    答案:
    解析:
    (6)(1)void drawCircle (int radius,int x,int y)
    (2)DrawCircle*drawCircle
    (3)drawcircle
    (4)drawCircle(radius,x,y)
    (5)new RedCircle()
    (6)new GreenCircle()【解析】
    第一空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。
    第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。
    第三空这里填drawcircle,用-> drawcircle来引用父类的成员。
    第四空调用drawCircle(radius,x,y)方法。
    第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。

  • 第6题:

    用于定义类成员的访问控制权的一组关键字是()

    A.class, float, double, public

    B.float, boolean, int, long

    C.char, extends, float, double

    D.public, private, protected


    public, private, protected