如题,在C++中,如何实现禁止创建类的临时对象?
面向对象 C++
可以这样实现: 1. 将构造函数定义为私有的; 2. 在类中定义一个static的成员函数CreateObject,调用这个私有的构造函数创建对象; 3. 这样的话,每当要创建这个类的对象时都要显示的调用这个CreateObject函数,无法隐式的调用构造函数生成临时对象。
这种机制有点类似于设计模式中的单例模式,但是可以不受限于单例 。
关于虚拟函数的静态调用
派生类不能访问基类对象的protected成员
C++类成员解析与判断访问是否合法的顺序
C++模板声明和定义为什么必须放在一起
类与类之间传递数据的问题
C++多重继承虚函数表结构