class MyObjcet
{
private:
MyObjcet()
{
printf("AAAA()\n");
}
~MyObjcet()
{
printf("~AAAA()\n");
}
public:
static MyObjcet* create()
{
return new MyObjcet();
}
void destroy()
{
delete this;
}
};
int main()
{
MyObjcet* obj = MyObjcet::create();
obj->destroy();
//delete obj; //<-- 这行报错
//MyObjcet obj1; //<-- 这行报错
//MyObjcet obj1(*obj); //<-- 这行报错
//MyObjcet obj1 = *obj; //<-- 这行报错
return 0;
}