C++中如何禁止创建类的临时对象


如题,在C++中,如何实现禁止创建类的临时对象?

面向对象 C++

走丶喝奶去 12 years, 8 months ago

可以这样实现:
1. 将构造函数定义为私有的;
2. 在类中定义一个static的成员函数CreateObject,调用这个私有的构造函数创建对象;
3. 这样的话,每当要创建这个类的对象时都要显示的调用这个CreateObject函数,无法隐式的调用构造函数生成临时对象。

这种机制有点类似于设计模式中的单例模式,但是可以不受限于单例

KSTTT answered 12 years, 8 months ago

Your Answer