itgle.com

下列程序的输出结果为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->fu

题目
下列程序的输出结果为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;

}


相似考题
更多“下列程序的输出结果为2,请将程序补充完整。 include<iostream> using namespace std; class Base ”相关问题
  • 第1题:

    请将下列程序的横线处补充完整,使得输出结果为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


    正确答案:~A()
    ~A() 解析: 此题考查的是类的构造与析构。本题要求输出的结果中包含aa,所以基类A中横线处的函数一定要被执行。横线处应是定义基类的构造或者析构函数,如果定义的是构造,那么aa肯定在new操作时就输出,而下面的bb是在析构函数中,会在delete时被输出。故可以肯定应填入基类A的析构函数定义:~A()。

  • 第2题:

    请将如下程序补充完整,使得输出结果为: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( )。

  • 第3题:

    已知如下程序的输出结果是23,请将画线处缺失的部分补充完整。 include using namespac

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

    include <iostream>

    using namespace std;

    class MyClass {

    public:

    void Print() const { cout << 23; }

    };

    int main() {

    MyClass* p = new MyClass();

    【 】.Print();

    return 0;

    }


    正确答案:(*p)
    (*p) 解析:本题考查的知识点是:成员函数的调用。通过对象调用成员函数使用“.”运算符,而通过对象的指针调用成员函数则是用“->”运算符。本题中,Print()函数之前已经有一个“.”了,所以这里要填入的是一个对象。但题目中只定义了一个 MyClass类的指针p,所以此处应填入将指针转化为指针所指对象的表达式(*p)。

  • 第4题:

    若下列程序运行时输出结果为 1,A,10.1 2,B,3.5 请将程序补充完整。 include using name

    若下列程序运行时输出结果为

    1,A,10.1

    2,B,3.5

    请将程序补充完整。

    include<iostream>

    using namespace std;

    int main()

    {

    void test(int,char,double______);

    test(1,'A',10.1);

    test(2,'B');

    return 0;

    }

    void test(int a,char b,double c)

    {

    cout<<a<<','<<b<<','<<c<<end1;

    }


    正确答案:=3.5
    =3.5 解析:本题考查了函数默认参数的应用。本题中第一次调用 rest()函数数值1,A,10.1;第二次调用少了一个实参,却要求输出 2,B,3.5,由此分析,应将test()函数的第三个参数声明为默认参数。且默认为3.5,才能达到要求的输出结果。故应填入=3.5或者c=3.5。

  • 第5题:

    下列程序的输出结果为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关键字,在派生类对象中调用时,则调用被重新定义后的虚函数。