更多“有如下类的定义。横线处的语句是()。class MyClass{public:MyClass(int a=0,int b=0){X=a;Y=b;}voi ”相关问题
  • 第1题:

    有如下类的定义。空格处的语句是( )。 class MyClass { ____________ int x, y; public: MyClass(int a=0,int b=0) { x=a; y=b; } static void change() { x-=10; y-=10; } };

    A.static

    B.const

    C.private

    D.不需要填入内容


    正确答案:A
    解析:类的静态成员函数只可以直接访问类中的静态成员,不能直接访问类中的非静态成员。对于上述类的定义,由于在静态成员函数change()访问了类MyClass的数据成员x和y.,只能把x和y定义为静态数据成员。

  • 第2题:

    如下程序的输出结果是includeusing namespace std;class MyClass{public:MyClass(int

    如下程序的输出结果是 #include<iostream> using namespace std; class MyClass{ public: MyClass(int i=0){cout<<1;} MyClass(const MyClass&x)}cout<<2;} }; int main( ){ MyClass objl(1),obj2(2),ohj3(objl); return 0; }

    A.112

    B.111

    C.121

    D.113


    正确答案:A
    解析:MyClass objl(1),ohj2(2),obj3(objl);创建objl和obj2对象时调用第一个构造函数,打印1,创建obj3对象时调用第二个构造函数,打印2。

  • 第3题:

    有如下类的定义,下划线处的语句是( )。 class MyClass { ______int x,y; public; MyClass(int a=0,int b=0) { x=a; y=b; } static void change() { y-=10; y-=10; }; }

    A.static

    B.const

    C.mutable

    D.不需要填入内容


    正确答案:A

  • 第4题:

    有如下类的定义,下划线处的语句是( )。 class MyClass { _______int x,y; public; MyClass(int a=0,int b=0) { X=a; y=b; } static void change() { y-=10; y-=10; }; }

    A.static

    B.const

    C.mutable

    D.不需要填入内容


    正确答案:A

  • 第5题:

    有如下类的定义。空格处的语句是 class MyClass { ______int x,y; public: MyClass(int a=0,int b=0) { x=a; y=b; } staticvoidchange() { x-=10; y-=10; } };

    A.static

    B.const

    C.private

    D.不需要填入内容


    正确答案:A
    解析:本题考核静态数据成员和静态成员函数。类的静态成员函数只可以直接访问类中的静态成员,不能直接访问类中的非静态成员。对于上述类的定义,由于在静态成员函数change()访问了类MyClass的数据成员x和y,只能把x和y定义为静态数据成员。