Rya*_*yan 4 c++ gcc constructor class visual-c++
你能否告诉我是否可以手动调用对象构造函数?我知道这是错的,我不会在我自己的代码中做类似的事情,我知道我可以通过创建和调用初始化函数来解决这个问题,但问题是我偶然发现了一个存在数千行代码的情况.对象及其父母的构造者......
class MyClass()
{
MyClass() { }
virtual ~MyClass();
void reset()
{
this->~MyClass();
this->MyClass::MyClass(); //error: Invalid use of MyClass
}
};
Run Code Online (Sandbox Code Playgroud)
您仍然可以将构造/销毁移动到单独的函数中并直接调用它们.即
class MyClass {
public:
MyClass() { construct(); }
~MyClass() { destruct(); }
void reset() {
destruct();
construct();
}
private:
void construct() {
// lots of code
}
void destruct() {
// lots of code
}
};
Run Code Online (Sandbox Code Playgroud)