在下列的程序的横线处填上适当的语句,使该程序的输出为12。 includeusing namespace st在下列的程序的横线处填上适当的语句,使该程序的输出为12。include<iostream>using namespace std;class TestClass{public:int a,b;TestClass(int i,int j){a=i;b=j;}};class TestClass1:public TestClass{int a;public:TestClass1(int x):Test

题目
在下列的程序的横线处填上适当的语句,使该程序的输出为12。 includeusing namespace st

在下列的程序的横线处填上适当的语句,使该程序的输出为12。

include<iostream>

using namespace std;

class TestClass

{

public:

int a,b;

TestClass(int i,int j)

{

a=i;

b=j;

}

};

class TestClass1:public TestClass

{

int a;

public:

TestClass1(int x):TestClass(x,x+1){}

void show()

{

______;//输出基类数据成员a的值?

cout<<b<<endl;

}

};

int main()

{

TestClass1 d(1);

d.show();

return 0;

}


相似考题
参考答案和解析
正确答案:coutTestClass::a
coutTestClass::a 解析:题目中程序TestClass为基类,TestClass1为派生类,在主函数中定义TestClass1对象d(1)。根据题目要求“输出基类数据成员a的值”,基类为TestClass,利用::域运算符取其成员a的值。
更多“在下列的程序的横线处填上适当的语句,使该程序的输出为12。 include<iostream>using namespace st ”相关问题
  • 第1题:

    在下面的程序的横线处填上适当的语句,使该程序的输出为12。

    include 〈iostream〉

    using namespace std;

    class Base

    {

    public:

    int a;

    Base(int i) { a=i;}

    };

    class Derived : public Base

    {

    int a;

    public:

    Derived(int x) : Base(x),b(x+1) {}

    void show()

    {

    【 】; //输出基类数据成员a的值

    cout〈〈b〈〈end1;

    }

    };

    int main()

    {

    Derived d(1);

    d.show();

    return 0;

    }


    正确答案:cout〈〈Base::a
    cout〈〈Base::a 解析:本题考核作用域分辨符“::”的使用。

  • 第2题:

    在下列的程序的横线处填上适当的语句,使该程序的输出为12。include using namespace

    在下列的程序的横线处填上适当的语句,使该程序的输出为12。

    include<iostream.h>

    using namespace std;

    class Base

    {

    public:

    int a,b;

    Base(int i){a=i;}

    };

    class Derived:public Base

    {

    int a;

    public:

    Derived(int x):Base(x),b(x+1){};

    void show()

    {


    正确答案:eoutBase::a。
    eoutBase::a。 解析: 本题考查的是基类和派生类的构造函数。派生类构造函数的执行顺序:首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容。本题要求结果是输出12,分析题目,首先调用基类的构造函数,然后是调用子对象的构造函数,横线处要求输出基类成员a的值,填入toutBase::a即可。

  • 第3题:

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。 include using nam

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。

    include<iostream>

    using namespace std;

    class A

    {

    public: A(){cout<<'A';}

    };

    class B:【 】

    {

    public:B(){cout<<'B';)

    };

    class C:【 】

    {

    public;C(){cout<<'C';}

    };

    class D:public B,public C

    {

    public:D(){cout<<'D';}

    };

    void main(){D obi;}


    正确答案:virtual public A virtual public A
    virtual public A virtual public A

  • 第4题:

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。 include usingn

    在下面程序的横线处填上适当的内容,使程序执行后的输出结果为ABCD。

    include <iostream.h>

    using namespace std;

    class A

    {

    public: A() {cout<<'A';

    };

    class B:______

    {

    public: B() {cout<<'B';}

    };

    class C:______

    {

    public: C(} cout<<'C';}

    };

    class D:public B, public C

    {

    public: D(){cout<<'D';}

    };

    void main(){D obj;}


    正确答案:virtual public A; visual public A
    virtual public A; visual public A 解析:本题考核虚基类的应用。通过虚基类所派生的类,在所产生的对象中,只包含了一个和其他类共享的基础对象,也就是说,从同一个基类中以虚拟方式派生的所有类,在它们所产生的对象里,不会有一份基础对象,而只是在内存里保留一份基础对象,而派生类中只保留指向此基础对象的指针,这样就千会同时有两份基类对象的情形发生。题中程序最后字符A只输出了一次,所以类A必须为类 B和类C的虚基类。

  • 第5题:

    在下面的程序的横线处填上适当的语句,使该程序的输出结果为12。include using namespac

    在下面的程序的横线处填上适当的语句,使该程序的输出结果为12。

    include<iostream>

    using namespace std;

    class TestClass

    {

    public:

    int a,b;

    TestClass(int i,int j)

    {

    a=i;

    b=j;

    }

    };

    class TestCla


    正确答案:coutTestClass∷a
    coutTestClass∷a 解析: 题目中程序TestClass为基类,TestClass1为派生类,在主函数中定义TestClass1对象d(1)。据题目要求“输出基类数据成员a的值”,基类为TestClass,利用∷域运算符取其成员a的值。