1.在堆上面创建
class HeapOnly
{
int m_a;
HeapOnly() :
m_a(0)
{
}
public:
static HeapOnly * CreateObject();
};
HeapOnly* HeapOnly:: CreateObject()
{
HeapOnly * oh = new HeapOnly;
return oh;
}
如果是普通的成员函数的话,就无法创建第一个对象,因为普通的需要第一个对象来
调用,但是第一个无法创建,所以我们选择静态成员函数,是一个类在它在的成员函数
2、在栈上面创建
相比于在堆上面创建只需要去掉函数里面的new,直接创建对象返回就行了