静态数据成员和静态成员函数(static)

您所在的位置:网站首页 静态成员的用途不包括什么 静态数据成员和静态成员函数(static)

静态数据成员和静态成员函数(static)

2024-07-11 05:26| 来源: 网络整理| 查看: 265

目录

一、关于静态成员 

二、静态数据成员和普通数据成员的共同点 

三、为什么要使用静态数据成员

四、关于静态数据成员的初始化

五、静态成员的访问方式 

六、静态成员函数

1.与静态数据成员不同,静态成员函数的作用不是为了对象之间的沟通,而是为了能够处理静态数据成员

2.静态成员函数只能访问static成员,包括数据成员和成员函数

3.非static成员函数既可以访问static数据成员,也可以访问非static数据成员。static成员函数只能访问satic成员

4.静态成员函数不与任何对象绑定在一起,不包含this指针 

七、实现一个类,计算程序中创建出了多少个类对象

一、关于静态成员 

      1.静态成员的声明要加个关键static。静态成员可以通过双冒号来使用即::,非静态成员则不能。       2. static成员变量属于类(被存放在数据段中),不属于某个具体的对象(具体对象的内存是分配在堆中的),即使创建多个对象,也只为该变量分配一次内存,所有对象使用的都是这份内存中的数据。      3.若它为public类型,当某个对象修改了它,也会影响到其他对象,所有对象都是“同甘共苦的” 

二、静态数据成员和普通数据成员的共同点 

静态数据成员和普通数据成员一样遵从public,protected,private访问规则;

三、为什么要使用静态数据成员

  1.每个对象都有自己都有的数据成员   2.不同对象如何共享数据?     全局变量:谁都可以访问,不安全     静态数据成员:可以实现数据共享,该类的所有对象都共享这块静态存储空间它不属于某一个对象,它与整个程序的生命周期相同,即使某个对象消亡了,静态数据成员还存在,没有改变

四、关于静态数据成员的初始化

   在类内定义,类外声明    声明的格式 ::静态数据成员 =    静态数据成员不能直接初始化 

   例如,错误的    static int i=5;

//正确代码举例 #include using namespace std; class A { public: static int i; }; int A::i=5;//::表示i是属于A这个类的 int main() { A a; cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3