如何解决继承的构造方法代码何时称为
| 如果我的类的构造函数继承了另一个类的参数化构造函数,那么将在我放置在构造函数中的代码之前或之后执行该继承的构造函数代码吗? 例如在此:TCurrentKillerThread::TCurrentKillerThread() : TThread(true){
CurrentKillerMutex = CreateMutex(NULL,true,NULL); // protect thread
try {
Write(\"Created Current Killer\");
} __finally {
ReleaseMutex(CurrentKillerMutex);
}
Start();
}
TCurrectKillerThread()
中的代码之前会执行TThread(true)
吗?
解决方法
是。父类始终在派生类之前初始化。但是,您不是在继承构造函数,而是在调用它。
,是的,C ++构造从最低的基类到最大的基类工作。
, 我在TCurrectKillerThread()中的代码之前会执行TThread(true)吗?
是的,当实例化派生的类对象时,在
TCurrentKillerThread(){ .... }
之前执行TThread(bool var){ .... }
。父类子对象的构造必须在C ++中的派生类子对象之前进行。
,当然,基类的构造函数在子类的构造函数之前执行,而析构函数从子类到基类执行
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。