文章目录

  • 何为静态成员
  • 静态成员变量
  • 实操代码
  • 静态成员函数
  • 代码实操

何为静态成员

静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员。

静态成员变量

1.所有对象共享同一份数据;
2.在编译阶段分配内存(在点开exe文件之前);
3.类内声明,类外初始化。

实操代码

#include <bits/stdc++.h>
using namespace std;class Person {public://所有对象都共享同一份数据!!!!//编译阶段就分配了内存//类内进行声明,类外初始化;static int m_A;//静态成员变量也是有访问权限的private:static int m_B;
};
int Person::m_A = 18;
int Person::m_B = 20;
//注意类外声明的格式,static关键字不要,然后要声明是Person的成员变量void test1() {Person p;cout << p.m_A << endl;Person p2;p2.m_A = 100;cout << p.m_A << endl;
}void test2() {//静态成员变量 不属于某个对像上 所有对象都共享一份数据//1.通过对象进行访问Person p1;cout << p1.m_A << endl;//2.通过类名进行访问cout << Person::m_A << endl;//cout << Person::m_B << endl;//私有作用域出了类是访问不到的
}int main() {//test1();test2();
}

静态成员函数

1.所有对象共享同一个函数;
2、静态成员函数只能访问静态变量。

代码实操

#include <bits/stdc++.h>
using namespace std;
//静态成员函数
/*
1.所有对象共享同一个函数
2.静态成员函数只能访问静态成员变量
*/class Person {public:static int m_A;static void func() {cout << "static void func 调用" << endl;m_A = 100;cout << m_A << endl;}
};
int Person::m_A = 18;void test1() {//1.通过对象访问Person p;p.func();//2.通过类名进行访问Person::func();
}int main() {test1();
}

静态成员变量以及静态成员函数相关推荐

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

    静态成员变量和成员函数 简介 sizeof不将静态成员变量的大小计算在内 可以通过类名来访问静态成员 静态成员函数不能访问类的非静态成员 简介 static加在局部变量的前面改变其存储类型使之成为静态 ...

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

    静态成员变量 在一个类中,若将一个成员变量声明为static,这种成员成为静态成员变量,与一般的数据成员不同,无论建立了多少个对象,都只想有一个静态数据的拷贝,静态成员变量,属于某个类,所有对象共享 ...

  3. 13.C++-静态成员变量、静态成员函数

    首先回顾下成员变量 能通过对象名能够访问public成员变量 每个对象的成员变量都是专属的 成员变量不能在对象之间共享 再来讲讲类的静态成员变量 介绍 静态成员变量属于整个类所有 静态成员变量的生命期 ...

  4. C++面试题-面向对象-静态成员变量以及静态成员函数

    C++面试题-面向对象-静态成员变量以及静态成员函数 问:在类中,静态数据成员和普通数据成员有何区别? 答: 普通数据成员属于类的对象,对象被创建后,普通数据成员才会分配内存.静态数据成员属于整个类, ...

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

    类的静态成员有两种:静态成员变量和静态成员函数,语法是在普通成员变量和成员函数前加static关键字. 0.定义 class CRect{ public:void show();//普通成员函数sta ...

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

    C++的静态成员变量和静态成员函数 静态成员变量和静态成员函数算是C++面向对象编程中的一个重点和难点,这里的静态具体指什么呢?与普通的成员变量和成员函数相比,静态成员函数和静态成员变量是属于类的,而 ...

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

    静态成员变量 一个类中可以有一个或多个静态成员变量,所有的对象都共享这些静态成员变量,都可以引用它. static 成员变量和普通 static 变量一样,都在内存分区中的全局数据区分配内存,到程序结 ...

  8. 类中的静态成员变量和静态成员函数

    static静态成员函数 1.static 修饰成员变量 2.static修饰静态成员函数 引子: 静态成员函数: 注意: 3.const 修饰静态成员 静态成员案例 案例1:静态成员 统计类 实例化 ...

  9. qt 静态成员变量_Qt 静态成员函数的调用非静态成员变量,非静态成员函数

    在多人开发的项目中,一些通用的工具类接口可以用静态成员函数.方便调用,并且不容易调用错误. 静态成员函数不传递this指针(不能->),不识别对象个体,所以经常用于对静态数据成员进行操作.不能操 ...

  10. c++ ——静态成员变量和静态成员函数

    前言 c++ 静态成员变量用static 关键字来声明,是整个类的数据成员,其存储不占用某个具体对象的空间,其存储在静态存储区. c++ 静态成员函数用static 关键字来声明,用于处理静态成员变量 ...

最新文章

  1. Ubuntu镜像的MD5校验
  2. iOS开发者有价值的工具集
  3. spark中stage的划分与宽依赖/窄依赖(转载+自己理解/整理)
  4. python pymysql用法_Python使用pymysql小技巧
  5. JMS学习(三)ActiveMQ Message Persistence(转)
  6. a标签去掉下划线_html常用标签、包含关系、常用术语,以及网页设计中的字体分类
  7. 中国自研数据库超越Oracle登顶全球第一
  8. vue引入字体文件踩坑
  9. 技术大众化--10款无需编程的App DIY开发工具
  10. 坚果云+Markor+Typora实现多平台Markdown协同编辑
  11. 我们一起学程序-五指棋
  12. 在Excel中如何让文字竖排
  13. iOS安装脱壳后的ipa
  14. FDE中的金属边界条件和PML边界条件的选取
  15. 知识体系结构---备份
  16. 天然气阶梯是按年还是按月_天然气阶梯价是按年算还是月算
  17. 高德地图 搜索店名获取经纬度
  18. MongoDB✧SpringDataMongoDB
  19. 苹果公布 2022 Apple 设计大奖入围作品
  20. 五子棋对战——重点实现

热门文章

  1. (转)函数式编程实战教程(Python版)
  2. 深入浅出MFC学习笔记:MFC六大关键技术仿真之RTTI运行时类型识别
  3. 设备激活错误。物理文件名 'D:\LOG\ShoppingDB_Log.ldf' 可能有误。
  4. SPS :SPS 2003 安装过程中的语言版本问题。
  5. mysql having关键字可以对group by后的结果再进行筛选
  6. SqlServer两表之间:根据一个表的字段更新另一个表的字段
  7. [原]部署kubernetes dashboard(二)
  8. Angular JS(二) 指令部分
  9. 快速排序算法思路分析和C++源代码(递归和非递归)
  10. Sharepoint2013搜索学习笔记之自定义查询规则(十)