虚函数的问题!! 我现在遇到这样一个问题,有两个类其中一个是父类,一个是子类,父类有一个虚函数,我想在子类中重写这个虚函数,并且在重写之前继承父类的行为。请问这样能实现吗?能实现的话怎么做呀??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 base::virtualfun();// sub code... void CChinde::Function1(void){ CParent::Function1(); // TODO: Your Code} 可以实现啊,只需在子类的函数之前先调用父类的方法即可!class Base:{ protect: virtual void func();}class Derived: public Base{ protect: virtual void func();}void Base::func(){ cout<<"this is Base!"<<endl;}void Derived::func(){ Base::func() //先调用父类处理 //下面写你的子程序代码! cout<<"this is derived!"<<endl;} 虚函数跟普通函数不同的地方在于在编译它时会将它的地址放到虚函数表(vtable)里,这样就实现了函数名重载。这也是类的多态性的重要表现。 我发现大家对父类和子类没有几个人有很明确的认识...private 和 protected 继承的类,严格的说,是不能称为子类的 OnMoseMove 事件 OnPaint,区域绘图问题 这样的情况,是用什么算法去处理,对于统计车道里车流辆排队的长度。 新手关于一个简单发送接受消息程序的种种问题!(在线等) 利用ADO操作access,怎样插入记录后马上得到自动编号值? 向DLL创建的窗口发送自定义消息的问题 祝各位网友元旦快乐!并请各位电脑高手帮忙为我选择一款性价比高的主板 好吗?? 如何在类的相互应用避免出错? 什么函数可以得到系统所在的盘? 编译报错,请帮忙诊断一下,谢谢各位? 一行中的图形或文字像是被裁掉了一部分 简单窗口示例程序老通不过,高手帮看看 弱问题:如何判断CString是数字。立即结分。
// sub code
...
{
CParent::Function1();
// TODO: Your Code
}
class Base:
{
protect:
virtual void func();
}class Derived: public Base
{
protect:
virtual void func();
}void Base::func()
{
cout<<"this is Base!"<<endl;
}void Derived::func()
{
Base::func() //先调用父类处理
//下面写你的子程序代码!
cout<<"this is derived!"<<endl;
}
private 和 protected 继承的类,严格的说,是不能称为子类的