itgle.com

请将下列程序的横线处补充完整,使得输出结果为bbaaincludeusing namespace std;class请将下列程序的横线处补充完整,使得输出结果为bbaainclude<iostream>using namespace std;class A{public:______{cout<<"aa";}};class B:public A{public:~B(){cout<<"bb";}};int main(){B*p=new

题目
请将下列程序的横线处补充完整,使得输出结果为bbaaincludeusing namespace std;class

请将下列程序的横线处补充完整,使得输出结果为bbaa

include<iostream>

using namespace std;

class A{

public:

______{cout<<"aa";}

};

class B:public A{

public:

~B(){cout<<"bb";}

};

int main(){

B*p=new


相似考题
更多“请将下列程序的横线处补充完整,使得输出结果为bbaainclude<iostream>using namespace std;class ”相关问题
  • 第1题:

    已知下列程序的输出结果是42,请将横线处缺失的部分补充完整。 include using namespace

    已知下列程序的输出结果是42,请将横线处缺失的部分补充完整。

    include<iostream>

    using namespace std;

    class TestClass{

    int value;

    public:

    TestClass():value(0){};

    void setValue(int value)

    {______=value;}//给TestClass的数据成员value赋值

    void print(){cout<<value;};

    };

    int main()

    {

    TestClass f;

    f.setValue(42);

    f.print();

    return 0;

    }


    正确答案:this->value或TestClass::value
    this->value或TestClass::value 解析:为了指明是给本类中的value变量赋值,所以利用每一个成员函数中的指针this指向该变量,或者说明是该类域中的value,TestClass::value。

  • 第2题:

    己知下列程序的输出结果是42,请将横线处缺失的部分补充完整。 include using namespace

    己知下列程序的输出结果是42,请将横线处缺失的部分补充完整。

    include<iostream>

    using namespace std;

    class TestClass{

    int value;

    public:

    TestClass():value(0){};

    void setValue(int value)

    {______=value;}//给TestClass的数据成员value赋值

    void print(){cout<<value;};

    };

    int main()

    {

    TestClass f;

    f.setValue(42);

    f.print();

    return 0;

    }


    正确答案:this->value或TeslClass::value
    this->value或TeslClass::value 解析:为了指明是给本类中的value变量赋值,所以利用每一个成员函数中的指针this指向该变量,或者说明是该类域中的value, TestClass::value。

  • 第3题:

    下列程序的输出结果为2,请将程序补充完整。 include using namespaee std; class B

    下列程序的输出结果为2,请将程序补充完整。

    include <iostream>

    using namespaee std;

    class Base{

    public:

    ______void fun( ){cout<<1;}

    };

    class Derived:public Base{

    public:

    void fun( ){cout<<2;}

    };

    int main( ){

    Base*P=new Derived:

    p->fun( );

    delete P;

    return 0;

    }


    正确答案:virtual
    virtual 解析:在基类中的虚函数在派生类中被重新定义时,该函数仍然为虚函数,但是可以省略不写virtual关键字,在派生类对象中调用时,则调用被重新定义后的虚函数。

  • 第4题:

    下列程序的输出结果为2,请将程序补充完整。 include using namespace std; class Base

    下列程序的输出结果为2,请将程序补充完整。

    include<iostream>

    using namespace std;

    class Base

    {

    public:

    ______void fun(){cout<<1;}

    };

    class Derived:public Base

    {

    public:

    void fun(){cout<<2;}

    };

    int main()

    {

    Base*p=new Derived;

    p->fur();

    delete p;

    return 0;

    }


    正确答案:virtual
    virtual 解析:本题考核虚函数的概念。在C++中,一个基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际指向的对象类的那个重定义版本,这样的调用称为多态调用。基类Base和派生类Derived中都定义了成员函数fun,但是有不同的实现。程序最后输出的结果为2,表明通过对象指针p调用的函数版本为派生类中定义的,只有把基类的fun函数定义为虚函数,才能满足要求。

  • 第5题:

    请将如下程序补充完整,使得输出结果为:bbaa。 include using naluespace std; class

    请将如下程序补充完整,使得输出结果为:bbaa。

    include<iostream>

    using naluespace std;

    class A{

    public:

    ______{eout<<"aa";}

    };

    class B:public A{

    public:

    ~B( ){eont<<"bb";}

    };

    int ulain( ){

    B*P=new B;

    delete P;

    return 0;

    }


    正确答案:~A( )
    ~A( ) 解析:派生类和基类的析构函数调用顺序是先调用派生类的析构函数,然后调用基类的析构函数,打印“bb”说明已经在调用派生类的析构函数,则要继续打印“aa”,显然就只有定义在基类的析构函数中去打印,故答案为~A( )。