如何限制一个类只在堆上或者栈上分配

来源:互联网 发布:企政oa软件 编辑:程序博客网 时间:2024/06/05 07:30
类的构造函数属性置为private,同时提供static成员函数getInstance,在函数中new一个新对象,然后返回对象指针或者引用。这样实现的类可以保证只可以在堆上分配对象Class A{ Static  A* Instance; Public:  A* GetInstance(){    if(Instance == NULL)       {  return new A;}}Private: A(){};~A(){};}在C++中如何限制一个类对象只在栈上分配?new操作符显示重载为私有class stackonly { private: void * operator new(size_t Size) { } };
0 0