c++静态成员变量和静态成员方法

  • 编译阶段分配内存
  • 所有对象共享数据
  • 可以通过对象访问、通过类名访问
  • 有权限控制
  • 类内声明,类外初始化(通过类名访问是会不调用构造函数)
class Person

{

public:

Person()

{}

static int age;

}

int Person::age=0;

c++静态成员方法

  • 可以访问静态成员变量,不可以访问普通成员变量
  • 普通成员函数可以访问静态成员变量和普通成员变量
  • 静态成员函数也有权限
  • 可以通过对象访问,也可以通过类名进行访问
class Person

{

public:

Person()

{}

static void show()
{

cout<

单例模式(静态的应用)

单例模式是一种常用的软件设计模式,在它的核心结构中只包含一个被称为单例模式。

  1. 构造方法私有化

  2. 成员变量私有化

  3. 拷贝构造函数私有化

    class ChairMan
    {
    private:
    //构造函数
     ChairMan(){
         cout << "创建了" << endl;
     }
    
    //拷贝构造函数
     ChairMan(const ChairMan& c)
     {
     
    
     }
    
    public:
     static ChairMan* getInstance()
     {
         return singleMan;
     }
     //指针在类内声明
    private:
     static ChairMan* singleMan;
    };
    //指针在类外初始化
    ChairMan* ChairMan::singleMan = new ChairMan;
    

你可能感兴趣的:(c++静态成员变量和静态成员方法)