静态成员变量

  • 编译阶段分配内存
  • 所有对象共享数据
  • 可以通过对象访问、通过类名访问
  • 有权限控制
  • 类内声明,类外初始化(通过类名访问是会不调用构造函数)
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++静态成员变量和静态成员方法相关推荐

  1. [转载] Java中静态成员变量,静态代码块,静态内部类何时被初始化?

    参考链接: Java中的初始化程序块Initializer Block 关于这个问题,本文不扯理论,直接上代码,通过结果来验证结论,废话少说,测试代码如下: public class StaticTe ...

  2. 【Java基础】Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)

    初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 3.其次,初始 ...

  3. 关于Java静态成员变量和静态初始化块等的初始化顺序的详细介绍

    关于Java静态成员变量和静态初始化块等的初始化顺序的详细介绍 对于主动请求一个类时,JVM首先会将该类加载到内存中,先初始化该类的静态成员变量和静态初始化块. 主动请求一个类的情形: a.调用类A的 ...

  4. [JavaSE](static关键字、继承、super关键字、this关键字、多态、(成员变量、静态成员方法、实例成员方法)在多态中的调用情况)

    ✨✨个人主页:沫洺的主页

  5. Java中类变量(静态变量)和实例变量区别

    实例 public class scope {static int a;int b;public static void main(String[] args) {// TODO 自动生成的方法存根a ...

  6. java 静态成员 创建_Java学习笔记11---静态成员变量、静态代码块、成员变量及构造方法的初始化或调用顺序...

    当创建一个对象时,各种成员变量及构造方法的初始化或调用顺序是怎样的呢? (1).如果类尚未加载,则先初始化静态成员变量和静态代码块,再初始化成员变量,最后调用相应的构造方法: (2).如果类已经加载过 ...

  7. 简述php静态变量,php静态变量小结

    在C 中,内存分成5个区,他们分别是堆.栈.自由存储区(程序代码区).全局/静态存储区和常量存储区. 1.栈,就是那些由编译器在需要的时候分配,在无需的时候自动清除的变量的存储区.里面的变量通常是局部 ...

  8. 静态成员函数与静态成员变量

    此文针对于初学者或者对这一部分掌握不太清楚的人. 首先静态成员函数的声明: static void setName(QString name); 需要在函数的声明前加static关键字. 定义的时候和 ...

  9. 面向对象——概念(成员变量、静态变量、成员方法、静态方法、垃圾回收机制、重载、包)...

    静态变量和成员变量的区别: 1.成员变量描述的是对象的特征,包含在对象之中.不同的对象成员变量彼此独立.一个对象成员变量的改变,不会影响其他对象. 静态变量独立在对象之外,是所有对象共享的变量.静态变 ...

  10. java类的静态成员初始化_Java类的初始化顺序 (静态变量、静态初始化块、变量、初始......

    很有意思的一篇文章 1.没有继承 静态变量->静态初始化块->变量->变量初始化块->构造方法 2.有继承的情况 父类静态变量->父类静态初始化块->子类静态变量- ...

最新文章

  1. PAT甲级题目翻译+答案 AcWing(动态规划)
  2. SpringBoot拦截器不生效
  3. Java高级语法笔记-接口(interface)
  4. 【Fiddler 问题】解决关于Fiddler 抓包中,手机网络配置代理后,无法上网
  5. 拾取物品怎么实现_H5接住掉落物品小游戏js实现思路(抛砖引玉)
  6. tesseract 使用说明
  7. MySQL VARCHAR的说明信息
  8. 极限学习机和支持向量机_极限学习机的发展
  9. python进阶路线 知乎_Python自学路线图之Python进阶
  10. 计算机需要那些高中数学知识点,高中数学知识点(高中数学知识点最全版)
  11. Spring boot 项目(十五)——实现163邮箱发送邮件
  12. Goolge Chrome 浏览器下载不了文件的解决办法
  13. Test: Windows Live Writer for Cnblogs
  14. c语言五子棋对局结果存储,基于C语言五子棋小游戏总结.doc
  15. SwiftUI 色彩教程之 01什么是色差Color difference
  16. RealView MDK 使用
  17. 证件照制作:使用PS打印一寸照片
  18. vue返回上一页,如果没有上一页返回首页
  19. 无情的事实--人类曾经被彻底毁灭过
  20. 微信如何群发消息?微信群发消息只需要4步!

热门文章

  1. 作为一名程序员,我都收集了哪些好玩的生成器?
  2. 解决电脑右键菜单反应慢问题
  3. 中国10大经典徒步线路(资深徒步专家@行摄匆匆推荐)
  4. 相对位置编码 relative position encoding
  5. oracle 挖掘日志,使用Oracle的Logminer工具进行日志挖掘
  6. Minecraft Mod 开发:2-Hello, Minecraft Mod World!
  7. javax.crypto.BadPaddingException Given final block not properly padded?
  8. 苹果手机linux系统版本号,Linux下查看系统版本号信息的方法(转)
  9. 武汉财贸学校2020计算机应用,2021年武汉市财贸学校招生简章
  10. 全国书画艺术之乡-----通渭