- 主题:如何才能调用B类的函数?
c++中,有三个类A和B和C,其中C继承B,B继承A,现在我创建一个C类对象,把该对象指针赋给一个A类指针,那么该对象里面实际上包含一个B的子对象,A类有一个纯虚函数foo,在B和C类中都有实现,我现在调用A指针的foo函数,实际调用的是C的实现。如何实现把C类对象的B子对象抽取出来,并赋给一个A类指针,使得调用foo的时候调用的时B的foo?
--
FROM 115.171.62.*
如何能不加A::前缀或者B::就能调用B的foo呢?
【 在 jimmycmh 的大作中提到: 】
: 父类指针调用子类函数,需要down cast
: 子类指针调用父类函数,可以b->A::foo()
:
--
FROM 115.171.62.*
有个对象,想要把它转换为它的一个父对象,并且调用的重载函数也要是父类的。
有个集合类,里面好多指针,某个对象一旦转换之后,就完完全全是转换后的对象了。
【 在 jimmycmh 的大作中提到: 】
: 你的需求是什么?
:
--
FROM 115.171.62.*
cast是不行滴
【 在 jimmycmh 的大作中提到: 】
: 这个把指针cast一下不就好了吗?
:
--
FROM 115.171.63.*