C++类中只在堆或者栈上面创建对象

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,直接创建对象返回就行了

上一篇:VBS学习记录


下一篇:unix高级编程