已知f1,f2是同一个类的两个成员函数,但f1不能调用f2,说明( )。

admin2017-08-31  28

问题 已知f1,f2是同一个类的两个成员函数,但f1不能调用f2,说明(    )。

选项 A、f1、f2都是静态成员函数
B、f1是静态成员函数,f2不是静态成员函数
C、f1不是静态成员函数,f2是静态成员函数
D、f1、f2都不是静态成员函数

答案B

解析 本题主要考查静态数据成员的内容。
类的静态成员与一般的类成员不同,静态成员与对象的实例无关,只与类本身有关。它们一般用来实现类要封装的功能和数据,但不包括特定对象的功能和数据。静态成员和普通数据成员区别较大,体现在下面几点:
    (1)普通数据成员属于类的一个具体的对象,只有对象被创建了,普通数据成员才会被分配内存。静态数据成员属于整个类,即使没有任何对象创建,类的静态数据成员变量也存在。
    (2)外部访问类的静态成员只能通过类名来访问。
    (3)类的静态成员函数无法直接访问普通数据成员(可以通过类的指针等作为参数间接访问),而类的任何成员函数都可以访问类的静态数据成员。
    (4)类的静态方法只能访问该类的静态数据成员。
    另外,静态成员和类的普通成员一样,也具有public、protected、private3种访问级别,也可以具有返回值及被修改等性质。
    而在本题中,虽然f1和f2都是同一个类的成员函数,但f1不能调用f2,如果它们都是普通成员函数,那么肯定是可以调用;如果它们都是静态成员函数,也可以调用;如果f1是静态成员函数,而f2不是的话,那么这种情况下,n不能调用f2;如果f1不是静态成员函数,而f2是的话,那么这种情况下,f1也能调用f2。
    综上所述,可知本题的答案选B。
转载请注明原文地址:https://kaotiyun.com/show/bVRZ777K
0

相关试题推荐
最新回复(0)