niusouti.com

已知下列程序的输出结果是23,请将横线处缺失的部分补充完整。 include using namespace已知下列程序的输出结果是23,请将横线处缺失的部分补充完整。include<iostream>using namespace std;class MyClass{public:void Print()const{cout<<23;}};int main(){MyClass*p=new MyClass();______.Print();return 0;}

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

已知下列程序的输出结果是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()函数之前已经有一个“.”,所以此处应填入一个对象,所以就把指针p转化成指针所指的对象,填入表达式(*P)。
更多“已知下列程序的输出结果是23,请将横线处缺失的部分补充完整。 include<iostream> using namespace ”相关问题
  • 第1题:

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

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

    include<iostream>

    using namespace std;

    class Basc

    {

    public:

    【 】void fun(){cout<<1;}

    };

    class Dcrived:public Base

    {

    public:

    void fun(){cout<<2;}

    };

    int main()

    {

    Base*p=new Derived;

    p->fun();

    delete p;

    return 0;

    }


    正确答案:virtual
    virtual 解析:利用虚函数实现多态。

  • 第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或TestClass::value
    this->value或TestClass::value 解析:为了指明是给本类中的value变量赋值,所以利用每一个成员函数中的指针this指向该变量,或者说明是该类域中的value,TestClass::value。

  • 第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题:

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

  • 第5题:

    己知下列程序的输出结果是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。