首页 > 试题广场 >

若有以下说明语句: class A {

[问答题]

若有以下说明语句:

class A
{
/*…*/
public : void sameFun();
};
class B : public A
{
/*…*/
public : void sameFun();
};
void comFun()
{
A a;
B b;
/*…*/
}
(1)若在B::sameFun中调用A::sameFun,语句格式如何?它将在什么对象上操作?

(2)在comFun中可以用什么方式调用A::sameFun和B::sameFun?语句格式如何?它们将可以在什么对象上操作?

推荐

(1)若要在B::sameFun中调用A::sameFun,语句形式应为:

A::samefun();        //域作用符说明调用基类函数

调用的A::samefun将在B类对象上进行操作。

(2)在comFun中调用B::sameFun和A::sameFun的方式有:

a.A::sameFun();        //通过A类对象调用A::sameFun,在a类对象上操作。

b.sameFun();        //通过B类对象调用B::sameFun,在b类对象上操作。

b.A::sameFun();        //通过B类对象调用A::sameFun

//在b类对象上(对由基类继承下来的数据成员)操作。

发表于 2018-05-07 15:16:20 回复(0)