itgle.com

下列程序的执行结果为______。 include class Myclass { public: void GetSum(int a)下列程序的执行结果为______。include<iostream.h>class Myclass{public:void GetSum(int a);static int Sum;prtvate:int A;};int Myclass::Sum=10;//必须在类外部对静态数据成员初始化void Myclass::GetSum(int a){A=a;Sum+=A:}vo

题目
下列程序的执行结果为______。 include class Myclass { public: void GetSum(int a)

下列程序的执行结果为______。

include<iostream.h>

class Myclass

{

public:

void GetSum(int a);

static int Sum;

prtvate:

int A;

};

int Myclass::Sum=10;//必须在类外部对静态数据成员初始化

void Myclass::GetSum(int a)

{

A=a;

Sum+=A:

}

vold PrintSum(Myclass& A)

{

cout<<"Sum="<<A. Sum<<endl;

}

void main( )

{

Myclass M,N;

M.GetSum(3);

N.GetSum(7);

PrintSum(M);

}


相似考题
参考答案和解析
正确答案:sum=20
sum=20 解析:本题考察静态数据成员在同类的不同对象间的数据传递功能。Sum为所有对象的公共数据,M对象和N对象分别对sum进行累加,故结果为20。
更多“下列程序的执行结果为______。 include<iostream.h> class Myclass { public: void GetSum(int a) ”相关问题
  • 第1题:

    下列程序的运行结果是______。include class Base { public: void f(int x){cout<<“B

    下列程序的运行结果是______。

    include<iostream.h>

    class Base

    {

    public:

    void f(int x){cout<<“Base:”<<x<<endl;}

    );

    class Derived:public Base

    {

    public:

    void f(char*str){cout<<“Derived:”<<str<<endl;}

    };

    void main(void)

    {

    Base*pd=ne


    正确答案:Base:97。
    Base:97。 解析: 本题主要考查两个知识点,一是基类指针可以指向派生类对象,并可以访问派生类的所有成员。二是在函数重载中进行隐式类型转换。如pd->f(‘a’);系统到底调用哪个重载函数呢?实参既不是派生类中的形参,也不是基类中f函数的形参类型。此时系统根据就近原则和从高优先级到低优先级的规则尝试隐式转换。单字符更接近整数,故调用的是基类的f函数。

  • 第2题:

    以下程序的执行结果为()。includeclass myClass{Dublic:myClass(intdata) ;myClass(

    以下程序的执行结果为( )。 #include<iostream.h> class myClass { Dublic: myClass(int data) ; myClass(){value=0; }; myClass(myClass &obj); void print(){ cout<<value<<end1; } ~myClass(){} private: int value; }; myClass::myClass(int data) {value=data; } myClass::myClass(myClass &Obj) { value=obj.value; } void main() { myClass a(100); myClass b(a) ; b.print(); }

    A.0

    B.100

    C.10

    D.程序编译时出错


    正确答案:B
    解析:题中类myClass定义了一个拷贝初始化构造函数myClass(myClass&obj)。在主函数中,系统首先自动调用相应的构造函数建立对象,然后调用拷贝构造函数对对象b进行初始化。所以程序最后的输出为100。

  • 第3题:

    阅读下列说明和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里面的实参。

  • 第4题:

    下列程序的执行结果是【 】。 include < iostream. h> class Myclass { public: void GetSum(int a)

    下列程序的执行结果是【 】。

    include < iostream. h>

    class Myclass

    {

    public:

    void GetSum(int a)

    static int Sum:

    private:

    int A;

    };

    int Myclass:: Sum =10; //必须在类外部对静态数据成员初始化

    void Myelass: :GetSum(int a)

    {

    A=a;

    Sum+=A;

    }

    void PrintSum(Myclass& A)

    {

    cout<<"Sum="<<A.Sum<<end1;

    }

    void main( )

    {

    Myclass M,N;

    M. GetSum(3)

    N. GetSum(7)

    PrintSum(M);

    }


    正确答案:sum=20
    sum=20 解析:本题考察静态数据成员在同类的不同对象间的数据传递功能。Sum为所有对象的公共数据,M对象和N对象分别对sum进行累加,故结果为20。

  • 第5题:

    以下程序的执行结果为______。include class A {public:A(){cout<<“a”;} ~A(){cout<<

    以下程序的执行结果为______。

    include<iostream.h>

    class A

    {public:A(){cout<<“a”;}

    ~A(){cout<<“b”;}};

    class B:public A

    {public:

    B(){cout<<“c”;)

    ~B(){cout<<“d”;}};

    void main()

    {B b;}


    正确答案:acdb。
    acdb。 解析: 本题考查在继承中构造函数和析构函数的调用顺序。先调用基类的构造函数,再调用派生类的构造函数,调用析构函数时的顺序是先调用派生类的析构函数,后调用基类的析构函数。