特殊作用的私有成员函数

c++类成员的访问权限有三种,分别是 public, protected, private(默认)。其中private表示只允许在类内访问,使用这个特点,我们可以实现一些特殊作用的函数

私有构造函数

不能直接创建对象,单例模式往往使用这个方式

私有析构函数

析构函数被私有之后,就不能被自动析构,这样,我们不能在栈上创建对象,不过可以在堆上创建,再封装一个新函数调用delete实现析构

 只能在栈上创建对象

在堆上创建对象需要用到new操作符,如果我们把 operator new 函数重载了,那就只能在栈上创建对象了。注意,重载 operator new ,也要对应重载 operator delete

私有复制构造函数

禁止该类的对象使用另一个对象初始化

私有赋值操作符

禁止该类的对象之间赋值

原文地址:https://www.cnblogs.com/zuofaqi/p/10278170.html