有如下类的定义。空格处的语句是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.staticB.constC.privateD.不需要填入内容

题目

有如下类的定义。空格处的语句是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定义为静态数据成员。
更多“有如下类的定义。空格处的语句是class MyClass{______ int x, y;public:MyClass(int a=0, int b=0 ”相关问题
  • 第1题:

    有如下类的定义。那么空格处的语句是( )。 class MyClass { ____________int x,y; public: MyClass(int x1=0,int y1=0) { x=x1; y=y1; } static void change() { x+=10; y+=10; } };

    A.static

    B.const

    C.private

    D.不需要填入内容


    正确答案:A
    解析:静态成员函数与静态数据成员相似,也从属于类,只要类存在,静态成员函数就可以使用,静态成员函数的定义是在一般函数的定义前加上关键词static。本题程序中把成员函数change()定义成静态成员函数。由于静态成员函数只能访问静态数据成员、静态成员函数和类以外的函数和数据,不能访问类中的非静态数据成员(因为非静态数据成员只有对象存在时才有意义)。所以类的数据成员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; } staticvoidchange() { x-=10; y-=10; } };

    A.static

    B.const

    C.private

    D.不需要填入内容


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

  • 第4题:

    有如下类的定义。空格处的语句是( )。 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定义为静态数据成员。

  • 第5题:

    类MyClass的定义如下: class MyClass { public: MyClass(){} MyClass(int i){value=new int(i);} int*value; }; 若要对value赋值,则下面语句正确的是( )。

    A.MyClass my;my.value=10;

    B.MyClass my;*my.value=10;

    C.MyClass my;my.*value=10;

    D.MyClass my(10);


    正确答案:D