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

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

{

public:

Person()

{}

static int age;

}

int Person::age=0;

c++静态成员方法

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

{

public:

Person()

{}

static void show()
{

cout<<age<<endl;
}

static int age;
}
int Person::age=10;
//通过类名访问
Person::show();
//通过对象访问
Person p1;
p1.show();

单例模式(静态的应用)

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

  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++文件 例:从文件income. in中读入收入直到文件结束,并将收入和税金输出到文件tax. out。 检查...
    SeanC52111阅读 2,918评论 0 3
  • 第一天 一.内联函数(inline) 函数调用的时候需要建立栈内存环境,进行参数传递,并产生程序执行转移,这些工作...
    陈果123阅读 1,161评论 0 1
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,914评论 2 9
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,736评论 0 11
  • 1.charles 安装时需要java 环境的 一开始在网上下载的破解版能安装,手机配置好后怎么也上不了网,cha...
    红了白阅读 2,514评论 0 0