大张伟承认抄袭的歌曲:VC++6.0 一个简单的问题,谁能帮我解决一下,谢

来源:百度文库 编辑:高考问答 时间:2024/04/28 16:37:26
class ctestdialog : public cdialog
...
..
void ctestdialog::oncancel()//
{...
..
cdialog::oncancel();//我就不明白了,这里怎么能调用基类的函数呢,
//不是被派生类覆盖了吗!
}

谢谢,帮忙

假设B继承了A,那么B中就具有了A中的所有成员变量和函数,如果加以覆盖,那么覆盖的只是B中的函数,继承之后,A和B是两个类,你修改的只是B中的函数,不会影响到A中原有的函数。如果要调用基类中的在B中被覆盖的函数,那么必须显式使用作用域运算符标明基类名。

你调用CDialog::OnCancel();时,调用该函数的窗口指针是隐式的this,由于这是CDialog的一个继承类,它就可以正常作用于这个类。

你的成员是公有的,你没有virtual没有在扩充类中重写

你的派生类是如果没的重写基类的成员
那么派生类就能够直接调用基类的成员