静态成员变量
关键字 static 可以用于说明一个类的成员,
静态成员提供了一个同类对象的共享机制
把一个类的成员说明为 static 时,这个类无论有多少个对象被创建,这些对象共享这个 static 成员
静态成员局部于类,它不是对象成员,在类的外部进行初始化

静态成员函数数冠以关键字static
静态成员函数提供不依赖于类数据结构的共同操作,它没有this指针
在类外调用静态成员函数用 “类名 :: ”作限定词,或通过对象调用
疑难问题:静态成员函数中,不能使用普通变量,只能使用静态成员变量

#include <stdio.h>class Test11
{
public:Test11 (int b){m_b = b;}void print(){printf ("m_a = %d, m_b = %d\n", sm_a, m_b);}// 静态成员函数只能使用静态成员变量static void printA(){//  printf ("m_a = %d, m_b = %d\n", sm_a, m_b);printf ("m_a = %d\n", sm_a);}
public:// 静态成员变量,属于类,不属于某个对象// 是所有对象共享的,静态是在数据区分配,只有一个备份// 静态变量不能由某个对象进行初始化// 静态变量必须在类的外部重新定义并且初始化static int sm_a;int m_b;
};// 重新定义类的静态变量并且初始化
int Test11::sm_a = 100;   int main11_1()
{Test11 t(10), t2(20), t3(30);t.print();// 类的静态变量的使用// 1、通过某一个对象进行引用t2.sm_a = 30;t.print();// 2、通过类名来引用Test11::sm_a = 60;t3.print();Test11::printA();return 0;
}

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

  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. Linux Mint 19 安装Gnome Boxes 新建失败
  2. OpenCV-Python:K值聚类
  3. 元旦去哪玩?用Python告诉你哪些景点爆满!
  4. 字节二面 | 26图揭秘线程安全
  5. Centos DNS服务(二)-bind主从配置与基于TSIG加密的动态更新
  6. 玩“剪刀石头布“的脑机!密歇根大学开发由大脑意识精密控制的假肢
  7. “RPC好,还是RESTful好?”
  8. 怎么改PHP_PHP实现RPC(简版)
  9. 计算机中心述职报告诉,计算中心述职报告
  10. 谈一谈自己对依赖、关联、聚合和组合之间区别的理解
  11. excel导入到mysql
  12. std c++ 获取运行时间封装
  13. error: command 'gcc' failed with exit status 1
  14. c语言 error 库,C 库函数
  15. (转载)AS3中的mouseEnabled与mouseChildren
  16. Web基础配置篇(九): 抓包工具的介绍、安装及基本使用
  17. java书籍私藏书单推荐!
  18. c语言for循环延时函数作用,C语言循环语句实现单片机延时函数.pdf
  19. 简单用电脑摄像头实现人脸识别
  20. 导出(合并)手机QQ浏览器下载的视频

热门文章

  1. oracle开放视图,Oracle视图
  2. linux依赖包在哪个目录,命令-Linux cmd在jar中搜索类文件,而与jar路径无关
  3. python 正则表达式 断言 不定长表达式_MyEssay 之 Python正则表达式 —— 四种断言扩展的理解...
  4. 约瑟夫环-(数组、循环链表、数学)
  5. (十七)深入浅出TCPIP之UDP打洞原理
  6. 如何正确编写linux守护进程
  7. kaggle(04)---avazu_ctr_predictor(baseline)
  8. 王者服务器维护什么时间结束s19,王者荣耀S19赛季什么时候结束 S19赛季结束时间...
  9. 二分法查找c语言程序_C语言的那些经典程序 第十四期
  10. 区块链上智能合约的讲解