2、为每个含有虚函数的对象创建一个指向VTable的指针VPtr,所以说同类对象的VPtr是一样的。 3、当基类指针指向派生类时,放生了强制转换,基类的指针指向了派生类的VPtr,这样当pBase->func()时,就可以调用派生类的func()了。 4、没有虚函数的类也就没有VTable表了,或者这个表为空。这样基类指针自然调用不到派生类...
p=&b1;//B0类指针指向B1类对象fun(p); p=&d1;//B0类指针指向D1类对象fun(p); } 结果: B0::display() B0::display() B0::display() 注意:尽管是将派生的对象赋值给了基类的指针,但全部调用的基类的函数,因为在子类中的同名函数会被基类同名函数覆盖。
animal *an=new fish(); 疑问1:指针就是内存地址,而new fish()出来的是个对象,这么能赋值给指针那?在c++中取对象的指针操作符不是用“ &”吗? 疑问2:我为啥不可以这样写这个表达式? animal *an= &(new fish()) ;TFS | 初学一级 | 园豆:89 提问于:2014-08-27 10:28 < > 博客园社区特惠,阿里...