【发布时间】:2018-10-05 09:49:48
【问题描述】:
#include <iostream>
class A
{
public:
A(int n = 1) : i(n) {}
void Transform(int j)
{
// I want to create a new object and assign that object to "this"
A *obj = new A(j);
delete this;
this = obj;
}
private:
int i;
};
我可以在A 类的函数Transform() 中实例化一个A 类的新对象,并将新对象分配给this,同时删除this 表示的旧对象吗?
【问题讨论】:
-
如果您使用 C++,avoid using new and delete 并请熟悉 smart pointers。