手动对象构造函数调用 [英] manual object constructor call
本文介绍了手动对象构造函数调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您能告诉我是否可以手动调用对象构造函数?我知道这是错误的,我永远不会在我自己的代码,像这样的事情,我知道我可以通过创建和调用初始化函数来解决这个问题,但问题是,我偶然发现了一个情况下,有成千上万的代码行对象及其父对象的构造函数...
Can you please tell me if it is possible to call object constructor manually? I know it's wrong and I would never do something like that in my own code and I know I can fix this problem by creating and calling initialization function, however the problem is that I stumbled at a case where there are thousands of lines of code in object's and its parents' constructors...
class MyClass()
{
MyClass() { }
virtual ~MyClass();
void reset()
{
this->~MyClass();
this->MyClass::MyClass(); //error: Invalid use of MyClass
}
};
推荐答案
直接叫那些。即
class MyClass {
public:
MyClass() { construct(); }
~MyClass() { destruct(); }
void reset() {
destruct();
construct();
}
private:
void construct() {
// lots of code
}
void destruct() {
// lots of code
}
};
这篇关于手动对象构造函数调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文