static修饰的就是静态的成员函数或者静态成员变量,管这个类创建了多少个对象,静态成员只有一个拷贝,这个拷贝被所有属于这个类的对象共享.也就是说所有的对象的该静态变量和函数都指向同一块内存区域.

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;class Person
{
public:Person(){}static int m_Age; //static修饰的变量会被所有的实例共享,而且都可以修改//静态成员变量,在类内声明,类外进行初始化.静态变量在编译时分配内存(普通变量在调用时分配内存)//静态成员变量 也是有权限的int m_A;//静态成员函数//1.不可以访问  普通成员变量//2.可以访问 静态成员变量static void func(){//m_A = 10;m_Age = 100;cout << "func调用" << endl;};//普通成员函数 可以访问普通成员变量,也可以访问静态成员变量void myFunc(){m_A = 100;m_Age = 100;}
private:static int m_other; //私有权限 在类外不能访问static void func2(){cout << "func2调用" << endl;}
};
int  Person::m_Age = 0; //类外进行初始化,要加上作用域
int  Person::m_other = 10;void test()
{//1 通过对象访问属性Person p1;p1.m_Age = 10;Person p2;p2.m_Age = 20;cout << "p1 = " << p1.m_Age << endl; //10 或者 20? 20cout << "p2 = " << p2.m_Age << endl; //20//共享数据//2 通过类名访问属性cout << "通过类名访问Age" << Person::m_Age << endl;//cout << "other = " << Person::m_other << endl; //私有权限在类外无法访问//静态成员函数调用p1.func();p2.func();Person::func();//静态成员函数 也是有权限的//Person::func2();
}int main() {test();system("pause");return EXIT_SUCCESS;
}

单例模式

单例模式保证系统中一个类只有一个实例,而且该实例易于外界访问.

Singleton(单例):提供一个静态的getInstance()工厂方法,让客户可以访问它的唯一实例;为了防止在外部对其实例化,将其默认构造函数和拷贝构造函数设计为私有;在单例类内部定义了一个Singleton类型的静态对象,作为外部共享的唯一实例。

C++ 静态成员变量静态成员函数相关推荐

  1. C++ 笔记(18)— 类和对象(this 指针、指向类的指针、类静态成员变量和函数)

    1. this 指针 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址. this 指针是所有成员函数的隐含参数.因此,在成员函数内部,它可以用来指向调用对象. 友元函数没有 thi ...

  2. c++静态成员变量成员函数

    c++面向对象模型初探 前言 静态成员变量 定义静态成员变量 使用静态成员变量 静态成员函数 概念 案例 疑难问题:静态成员函数中,不能使用普通变量. 前言 思考:每个变量,拥有属性.有没有一些属性, ...

  3. 静态成员函数与成员变量_C++静态成员变量及函数

    没有很快乐,也没有不快乐,好像不该这样,但也只能这样,成长也许如此,行于奔溃边缘又慢慢自愈吧... ----  网易云热评 一.静态成员变量 1.普通成员变量属于对象,每个对象都会包含一份独立的普通成 ...

  4. c++,static 静态成员变量 / 静态成员函数

    静态成员变量: //静态成员变量(static) // //1.如果想在同类的多个对象之间实现数据共享 ,可以用静态 //成员变量,即用static修饰的成员变量,例 static int a; // ...

  5. c语言静态成员变量重名会怎么样,C++中静态成员函数与静态成员变量(static )...

    C++中静态成员函数与静态成员变量(static ) 这篇介绍了静态成员函数与静态成员变量,是我的读书笔记,我希望它够简短但又比较全面,起到复习的作用.如果有一些C++知识记不清楚了,它可以帮你很快回 ...

  6. C++静态成员函数与静态成员变量

    静态成员函数的作用 调用这个函数不会访问或者修改任何对象(非static)数据成员 不需要生成对象就能调用 原因: 类的静态成员(变量/方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去 ...

  7. C++ 静态成员变量和静态成员函数

    目录 静态成员变量 静态成员函数 测试代码 学习笔记 静态成员变量 要点 编译阶段分配内存 所有对象共享数据 通过对象,通过类名都可访问 静态成员变量如果通过类名访问不会调用构造函数,所以一般不在构造 ...

  8. 【C++静态成员函数不能调用非静态成员变量】

    C++静态成员函数不能调用非静态成员变量 静态成员函数 this指针 C++静态成员函数不能调用非静态成员变量原因 为什么要引入static 什么时候用static 致谢 静态成员函数 定义:静态成员 ...

  9. java静态变量重复new_Java非静态成员变量之死循环(详解)

    1.非静态成员变量 当成员变量为非静态成员变量且对当前类进行实例化时,将会产生死循环 例子: public class ConstructorCls { private ConstructorCls ...

最新文章

  1. 【selenium2】【unittest】
  2. C、C++申请指针内存的问题
  3. 开发一个自己的 CSS 框架(五)
  4. 用python玩转数据慕课答案第三周_大学慕课用Python玩转数据答案公众号
  5. linux host命令超时,Linux中的PING命令。每日一个小知识。不怕学不会
  6. 进行连续心率监测可以诊断哪些疾病?
  7. filemode对git diff的影响
  8. 人工智能影响学习的5种方式
  9. centos7恢复mysql数据库_centos7 mysql数据库的安装与使用
  10. android图片资源加密,手机游戏加密之2d资源加密
  11. Implement queue with two stack 用两个堆实现队列
  12. GML可视化学习(三)
  13. 国产化Demo(dm7+Tongweb7+java)
  14. [python库]psd文件操作库--psd_tools
  15. 没有事业的女孩子很悲惨 - - - 一位老总的话!
  16. 【小飞象出海】Facebook海外企业广告账户如何申请基本流程
  17. 浮点数强制转换整数,四舍五入
  18. LFI/RFI漏洞相关
  19. w8系统的wmi服务器,Delphi通过WMI获取系统信息
  20. 注册表去除桌面快捷方式小箭头引起此电脑右键管理无法使用

热门文章

  1. c语言某年某月的天数switch,在C语言中 使用switch语句编写“显示某年某月的天数”程序:...
  2. python创建控件,用 IronPython 创建和调用用户控件.doc
  3. Python使用更相减损术计算两个整数的最大公约数
  4. 使用Python编写程序安排期末考试监考
  5. 几行Python代码生成饭店营业额模拟数据并保存为CSV文件
  6. Python使用pandas扩展库DataFrame对象的pivot方法对数据进行透视转换
  7. linux如何自动处理文件,linux文件处理
  8. python write函数换行_python中文件的知识点总结
  9. C语言数组名作为函数参数
  10. java解析xml串标签_Java反射解析XML字符串并封装到指定的JavaBean