问题 单项选择题

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

单项选择题
问答题 简答题