在构造函数上加上virtual关键字有什么用?

毕加索的画 2002-03-14 08:46:19
在《Thinking in C++》附录C中讲到:
在一个构造函数调用期间,虚机制并不工作(出现早绑定).....

可是在C++Builder6导入Flash ActiveX控件时生成的外壳代码中出现了:
class PACKAGE TShockwaveFlash : public TOleControl
{
//...此处省略无关代码
public:
virtual __fastcall TShockwaveFlash(TComponent* AOwner) : TOleControl(AOwner) {};
virtual __fastcall TShockwaveFlash(HWND Parent) : TOleControl(Parent){}
//...此处省略无关代码
};
这里构造函数上加上了virtual关键字,不明其意,望兄弟们指点!
...全文
246 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Last_Dodo 2002-03-15
  • 打赏
  • 举报
回复
虚函数的调用是通过virtual table来实现的。当对象还未生成时,virtual table也没建好,所以是毫无用处的。
毕加索的画 2002-03-15
  • 打赏
  • 举报
回复
BCB的确是这么用了呀!
what_s 2002-03-14
  • 打赏
  • 举报
回复
第一次听到虚构造函数。我不懂!
lcooky 2002-03-14
  • 打赏
  • 举报
回复
虚构造函数好像没听说过,虚析构函数到是有,而且用处很大。
snipersu 2002-03-14
  • 打赏
  • 举报
回复
构造函数不能是虚函数。
paley_p 2002-03-14
  • 打赏
  • 举报
回复
I am sorry that I can remenber all of it.But I know that it is a pre-declaration.You can rewrite the code when you are using it.
just read it in <using VC6>
凌波微搏 2002-03-14
  • 打赏
  • 举报
回复
虚构造函数?标准C++好像没有 哦 .不应该 存在虚构造函数,这应该是 一个 错误的想法 .
neccui 2002-03-14
  • 打赏
  • 举报
回复
有可能。
Wugifer 2002-03-14
  • 打赏
  • 举报
回复
虚构造函数不是标准C++里的,可能是C++Builder自己扩展的。

15,446

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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