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

题目

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

#include<iostream>

using namespace std;

class MyClass {

public:

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

};

int main() {

MyClass*p=new MyClass();

___________.Print();

return 0;

}


相似考题
更多“( 9 )已知如下程序的输出结果是 23 ,请将画线处缺失的部分补充完整。#include&lt;iostream&gt;usi ”相关问题
  • 第1题:

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

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

    include <iostream>

    using namespace std;

    class Foo{

    int value;

    public:

    Foo( ):value(0){}

    void setValue(int value)

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

    void print( ){eout<<value;}

    };

    int main( ){

    Foo f;

    f.setValue(42);

    f.print();

    return 0;

    }


    正确答案:this.value
    this.value 解析:为类的数据成员赋值,将从形参传递来的实参赋值给类数据成员,为区分名字可以使用this指针

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

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

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

    include<iostream>

    using namespace std;

    class Foo

    int value;

    public:

    Foo( ): value(0) {}

    void setValue(int value)

    {【 】=value; //给Foo的数据成员value赋值}

    void print( ) { cout<<value;}

    };

    int main( )

    {

    Foo f;

    f.setValue(42);

    f.print();

    return 0;


    正确答案:this->value或Foo::value
    this->value或Foo::value 解析:从注释中可以看出,下划线处应该填入Foo类的数据成员value。但是,由于函数的形参名也叫value,所以在函数中直接使用value引用的是形参变量而不是 Foo类的数据成员。此时,只有两个办法可以引用到Foo类的数据成员:一是通过this指针,在类的成员函数中this代表函数所属对象的指针,故可以填this->value。二是通过作用域运算符“::”明确指出访问的是Foo类的成员,故还可以填Foo::value。

  • 第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。