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();
单例模式(静态的应用)
单例模式是一种常用的软件设计模式,在它的核心结构中只包含一个被称为单例模式。
构造方法私有化
成员变量私有化
拷贝构造函数私有化
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++静态成员变量和静态成员方法相关推荐
- [转载] Java中静态成员变量,静态代码块,静态内部类何时被初始化?
参考链接: Java中的初始化程序块Initializer Block 关于这个问题,本文不扯理论,直接上代码,通过结果来验证结论,废话少说,测试代码如下: public class StaticTe ...
- 【Java基础】Java中类的初始化过程:(静态成员变量,静态代码块,普通成员变量,代码块初始化顺序)
初始化过程是这样的: 1.首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 2.然后,初始化子类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 3.其次,初始 ...
- 关于Java静态成员变量和静态初始化块等的初始化顺序的详细介绍
关于Java静态成员变量和静态初始化块等的初始化顺序的详细介绍 对于主动请求一个类时,JVM首先会将该类加载到内存中,先初始化该类的静态成员变量和静态初始化块. 主动请求一个类的情形: a.调用类A的 ...
- [JavaSE](static关键字、继承、super关键字、this关键字、多态、(成员变量、静态成员方法、实例成员方法)在多态中的调用情况)
✨✨个人主页:沫洺的主页
- Java中类变量(静态变量)和实例变量区别
实例 public class scope {static int a;int b;public static void main(String[] args) {// TODO 自动生成的方法存根a ...
- java 静态成员 创建_Java学习笔记11---静态成员变量、静态代码块、成员变量及构造方法的初始化或调用顺序...
当创建一个对象时,各种成员变量及构造方法的初始化或调用顺序是怎样的呢? (1).如果类尚未加载,则先初始化静态成员变量和静态代码块,再初始化成员变量,最后调用相应的构造方法: (2).如果类已经加载过 ...
- 简述php静态变量,php静态变量小结
在C 中,内存分成5个区,他们分别是堆.栈.自由存储区(程序代码区).全局/静态存储区和常量存储区. 1.栈,就是那些由编译器在需要的时候分配,在无需的时候自动清除的变量的存储区.里面的变量通常是局部 ...
- 静态成员函数与静态成员变量
此文针对于初学者或者对这一部分掌握不太清楚的人. 首先静态成员函数的声明: static void setName(QString name); 需要在函数的声明前加static关键字. 定义的时候和 ...
- 面向对象——概念(成员变量、静态变量、成员方法、静态方法、垃圾回收机制、重载、包)...
静态变量和成员变量的区别: 1.成员变量描述的是对象的特征,包含在对象之中.不同的对象成员变量彼此独立.一个对象成员变量的改变,不会影响其他对象. 静态变量独立在对象之外,是所有对象共享的变量.静态变 ...
- java类的静态成员初始化_Java类的初始化顺序 (静态变量、静态初始化块、变量、初始......
很有意思的一篇文章 1.没有继承 静态变量->静态初始化块->变量->变量初始化块->构造方法 2.有继承的情况 父类静态变量->父类静态初始化块->子类静态变量- ...
最新文章
- PAT甲级题目翻译+答案 AcWing(动态规划)
- SpringBoot拦截器不生效
- Java高级语法笔记-接口(interface)
- 【Fiddler 问题】解决关于Fiddler 抓包中,手机网络配置代理后,无法上网
- 拾取物品怎么实现_H5接住掉落物品小游戏js实现思路(抛砖引玉)
- tesseract 使用说明
- MySQL VARCHAR的说明信息
- 极限学习机和支持向量机_极限学习机的发展
- python进阶路线 知乎_Python自学路线图之Python进阶
- 计算机需要那些高中数学知识点,高中数学知识点(高中数学知识点最全版)
- Spring boot 项目(十五)——实现163邮箱发送邮件
- Goolge Chrome 浏览器下载不了文件的解决办法
- Test: Windows Live Writer for Cnblogs
- c语言五子棋对局结果存储,基于C语言五子棋小游戏总结.doc
- SwiftUI 色彩教程之 01什么是色差Color difference
- RealView MDK 使用
- 证件照制作:使用PS打印一寸照片
- vue返回上一页,如果没有上一页返回首页
- 无情的事实--人类曾经被彻底毁灭过
- 微信如何群发消息?微信群发消息只需要4步!
热门文章
- 作为一名程序员,我都收集了哪些好玩的生成器?
- 解决电脑右键菜单反应慢问题
- 中国10大经典徒步线路(资深徒步专家@行摄匆匆推荐)
- 相对位置编码 relative position encoding
- oracle 挖掘日志,使用Oracle的Logminer工具进行日志挖掘
- Minecraft Mod 开发:2-Hello, Minecraft Mod World!
- javax.crypto.BadPaddingException Given final block not properly padded?
- 苹果手机linux系统版本号,Linux下查看系统版本号信息的方法(转)
- 武汉财贸学校2020计算机应用,2021年武汉市财贸学校招生简章
- 全国书画艺术之乡-----通渭