作业帮 > 综合 > 作业

B类中的函数f2 B类中的函数f1 D类中的函数f2

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/16 02:28:22
B类中的函数f2 B类中的函数f1 D类中的函数f2
9.[程序](2分)
#include
class B{
public:
void f1(){cout
不用给分了.
这个也很简单:
首先,p指向的a的地址,即p和对象a是一体.p->f2()输出 B类中的函数f2 估计你能理解.
我们看下2个:
p=&b1;时,含义与p=&a;时不一样;因为p与a是相同的类型 class B,
而p与b1是不同的类型,b1是class D,所以
p=&b1;时,意思是把b1的对象类型转换成p的对象类型,实际上是:
p = (B) b1; 所以p->f1();执行出来的是 B类中的函数f1
而函数f2是虚函数,所以使用了D中的实际函数体来取代B中的virtual void f2(),
所以执行结果为 D类中的函数f2
再问: 嗯嗯,算有点明白了,可惜没早点遇到你解答这么细致的人,谢了,明天就考了,good lucky!