关于继承的函数重写问题

chenqinzeng 2005-03-20 08:39:23
我的FORM1,有一个函数
void f_showmessage()
{
ShowMessage("1");
}
我的一个FORM2从FORM1继承过来,也有一个函数
void f_showmessage()
{
ShowMessage("2");
}
为什么我在FORM2中调用f_showmessage()函数时,显示的是“1”?假如我只想显示“2”,应该怎么写,请告之,谢谢!
...全文
89 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
milkwayhong 2005-03-21
  • 打赏
  • 举报
回复
使用虚函数
redcony 2005-03-21
  • 打赏
  • 举报
回复
在FORM2中调用f_showmessage()函数时
FORM2::f_showmessage()
F117p 2005-03-21
  • 打赏
  • 举报
回复
可以设计f_showmessage()为虚拟函数。
tomlance 2005-03-21
  • 打赏
  • 举报
回复
class TBase
{
public:
virtual void f_showmessage(){ShowMessage("1");}
};
class TMyCls : public TBase
{
public:
void f_showmessage(){ShowMessage("2");}
};
chenqinzeng 2005-03-21
  • 打赏
  • 举报
回复
我就是虚函数不知道具体怎么设置,有没有相关的文章让我LOCK一下。
zcb22000 2005-03-20
  • 打赏
  • 举报
回复
可以设计一个基类啊,或者将showmessage要输出的作为一个函数参数啊!
chenqinzeng 2005-03-20
  • 打赏
  • 举报
回复
前提条件是FORM1里面的f_showmessage函数不能删掉,要实现上面的情况。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧