C++之静态成员变量和静态成员函数
静态成员变量
关键字 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++之静态成员变量和静态成员函数相关推荐
- C++静态成员变量和成员函数
静态成员变量和成员函数 简介 sizeof不将静态成员变量的大小计算在内 可以通过类名来访问静态成员 静态成员函数不能访问类的非静态成员 简介 static加在局部变量的前面改变其存储类型使之成为静态 ...
- c++中静态成员变量和静态成员函数
静态成员变量 在一个类中,若将一个成员变量声明为static,这种成员成为静态成员变量,与一般的数据成员不同,无论建立了多少个对象,都只想有一个静态数据的拷贝,静态成员变量,属于某个类,所有对象共享 ...
- 13.C++-静态成员变量、静态成员函数
首先回顾下成员变量 能通过对象名能够访问public成员变量 每个对象的成员变量都是专属的 成员变量不能在对象之间共享 再来讲讲类的静态成员变量 介绍 静态成员变量属于整个类所有 静态成员变量的生命期 ...
- C++面试题-面向对象-静态成员变量以及静态成员函数
C++面试题-面向对象-静态成员变量以及静态成员函数 问:在类中,静态数据成员和普通数据成员有何区别? 答: 普通数据成员属于类的对象,对象被创建后,普通数据成员才会分配内存.静态数据成员属于整个类, ...
- C++静态成员变量与静态成员函数
类的静态成员有两种:静态成员变量和静态成员函数,语法是在普通成员变量和成员函数前加static关键字. 0.定义 class CRect{ public:void show();//普通成员函数sta ...
- C++的静态成员变量和静态成员函数
C++的静态成员变量和静态成员函数 静态成员变量和静态成员函数算是C++面向对象编程中的一个重点和难点,这里的静态具体指什么呢?与普通的成员变量和成员函数相比,静态成员函数和静态成员变量是属于类的,而 ...
- 静态成员变量和静态成员函数
静态成员变量 一个类中可以有一个或多个静态成员变量,所有的对象都共享这些静态成员变量,都可以引用它. static 成员变量和普通 static 变量一样,都在内存分区中的全局数据区分配内存,到程序结 ...
- 类中的静态成员变量和静态成员函数
static静态成员函数 1.static 修饰成员变量 2.static修饰静态成员函数 引子: 静态成员函数: 注意: 3.const 修饰静态成员 静态成员案例 案例1:静态成员 统计类 实例化 ...
- qt 静态成员变量_Qt 静态成员函数的调用非静态成员变量,非静态成员函数
在多人开发的项目中,一些通用的工具类接口可以用静态成员函数.方便调用,并且不容易调用错误. 静态成员函数不传递this指针(不能->),不识别对象个体,所以经常用于对静态数据成员进行操作.不能操 ...
- c++ ——静态成员变量和静态成员函数
前言 c++ 静态成员变量用static 关键字来声明,是整个类的数据成员,其存储不占用某个具体对象的空间,其存储在静态存储区. c++ 静态成员函数用static 关键字来声明,用于处理静态成员变量 ...
最新文章
- Linux Mint 19 安装Gnome Boxes 新建失败
- OpenCV-Python:K值聚类
- 元旦去哪玩?用Python告诉你哪些景点爆满!
- 字节二面 | 26图揭秘线程安全
- Centos DNS服务(二)-bind主从配置与基于TSIG加密的动态更新
- 玩“剪刀石头布“的脑机!密歇根大学开发由大脑意识精密控制的假肢
- “RPC好,还是RESTful好?”
- 怎么改PHP_PHP实现RPC(简版)
- 计算机中心述职报告诉,计算中心述职报告
- 谈一谈自己对依赖、关联、聚合和组合之间区别的理解
- excel导入到mysql
- std c++ 获取运行时间封装
- error: command 'gcc' failed with exit status 1
- c语言 error 库,C 库函数
- (转载)AS3中的mouseEnabled与mouseChildren
- Web基础配置篇(九): 抓包工具的介绍、安装及基本使用
- java书籍私藏书单推荐!
- c语言for循环延时函数作用,C语言循环语句实现单片机延时函数.pdf
- 简单用电脑摄像头实现人脸识别
- 导出(合并)手机QQ浏览器下载的视频
热门文章
- oracle开放视图,Oracle视图
- linux依赖包在哪个目录,命令-Linux cmd在jar中搜索类文件,而与jar路径无关
- python 正则表达式 断言 不定长表达式_MyEssay 之 Python正则表达式 —— 四种断言扩展的理解...
- 约瑟夫环-(数组、循环链表、数学)
- (十七)深入浅出TCPIP之UDP打洞原理
- 如何正确编写linux守护进程
- kaggle(04)---avazu_ctr_predictor(baseline)
- 王者服务器维护什么时间结束s19,王者荣耀S19赛季什么时候结束 S19赛季结束时间...
- 二分法查找c语言程序_C语言的那些经典程序 第十四期
- 区块链上智能合约的讲解