怎样在基类中调用它的继承类中的函数? 怎样在父类中调用它的子类中的函数? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 非常赞同 blh(老猫) 的说法 非常赞同 blh(老猫) 的说法 不要耸人听闻,用虚函数完全可以的,MFC的许多类都如此:class A{ public: void func1() { func2(); //调虚函数func2 } virtual void func2() { }}class B : public A{ virtual void func2() { MessageBox( NULL, "Class B Virtual Function", NULL, MB_OK ); }}使用时:B* pBVar = new B;((A*)pBVar)->func1(); jmcooler<签名> To: jmcooler()你改成A* pBVar = new A;pBVar->func1();看看还成不成!你那个就不是父类在调子类的函数,你那是子类在调自己的函数! 你应该是调用派生类从父类继承的函数吧.虚拟看看<深入浅出MFC> 专门解释过. FlyCom_NT 才算说到点子上去了,用父类的对象的指针可以访问派生类的虚函数。 通过模板类可以.ATL中的CComCoClass就用了这种办法. javascript响应ocx控件事件,这样写对吗? 急:VC串口通信英文资料 msflxgrd.ocx是什么文件? 如何在工具栏上添加分隔条? 怎样创建和使用一个大小在程序运行起来才知道的数组? 转让C++经典书籍! 如何在程序中得到控件的接口? 谁能解决,我给他300分:隐藏richedit的caret;提示见内容 VC如何在excel中写入合并单元格? 如何改变窗体的颜色? (放这里有点不合适,但帮帮忙)这是中毒还是中木马? 各位高手快跟我看看为什么拷贝的文件是原来文件的两倍大!
class A
{
public:
void func1()
{
func2(); //调虚函数func2
}
virtual void func2()
{
}
}class B : public A
{
virtual void func2()
{
MessageBox( NULL, "Class B Virtual Function", NULL, MB_OK );
}
}
使用时:
B* pBVar = new B;
((A*)pBVar)->func1();
jmcooler<签名>
你改成
A* pBVar = new A;
pBVar->func1();
看看还成不成!
你那个就不是父类在调子类的函数,你那是子类在调自己的函数!
ATL中的CComCoClass就用了这种办法.