静态成员变量和变量静态成员函数单例模型

静态成员变量和静态成员函数:

  • 静态成员变量在编译的时候就会分配内存

  • 在成员变量前面加上static就会变成静态成员变量

  • 静态成员变量在类内声明,在类外进行初始化

  • 可以通过对象或者类名访问静态成员变量,因为静态成员变量并不属于某一个对象

  • 静态成员函数可以访问静态成员变量,不可以访问普通成员比变量

  • 静态成员变量和函数都有权限,设置成私有便不可以在类外通过变量或者类名访问

把构造函数设置为私有时,那么在类外,再也不能够通过new的方式构造对象了。
单例模式实现:

  • 目的:让类中只有一个示例,

  • 将默认构造和拷贝构造私有化,(目的是为了让你new不出来对象,也不能创建出对 象,在堆上和栈上都无法创建出新的对象)

  • 内部维护一个对象的指针(定义一个对象的指针),私有化这个静态的指针,在类 外进行定义。

  • 对外提供一个函数接口来获取这个指针

  • 这样就保证了类中只能唯一实例化一个对象,在类外只能通过。

静态成员变量和变量静态成员函数单例模型

上面那个只是一个模型,下面进行实际应用-------->一个打印机模型
静态成员变量和变量静态成员函数单例模型