【编程】C++入门:static成员——用static修饰的成员函数,称之为静态成员函数。
C++入门:static成员
用static修饰的成员函数,称之为静态成员函数。
静态的成员变量一定要在类外进行初始化。
【静态的成员变量不能在声明、初始化列表中进行初始化。】
class Date
{public:// 静态成员函数static int getdcount(){return _dcount;}private:int _year;int _month;int _day;static int _dcount;
};// 静态的成员变量一定要在类外进行初始化。
int Date::_dcount = 0;
// 静态成员变量初始化完成int main()
{Date d;// 静态成员变量/函数访问方法:// 1.对象访问cout << d.getdcount() << endl;// 2.类名 + 作用域限定符 cout << Date::getdcount() << endl;return 0;
}
特性1-5
- 静态成员为所有类对象所共享,不属于某个具体的实例
- 静态成员变量必须在类外定义,定义时不添加static关键字
- 类静态成员即可用类名::静态成员或者对象.静态成员来访问
- 静态成员函数没有隐藏的this指针,不能访问任何非静态成员
- 静态成员和类的普通成员一样,也有public、protected、private3种访问级别,也可以具有返回值
【问题】
- 静态成员函数可以调用非静态成员函数吗?
不可以。 - 非静态成员函数可以调用类的静态成员函数
可以。
原因:因为非静态成员需要this指针,静态成员函数内部没有this指针。
【编程】C++入门:static成员——用static修饰的成员函数,称之为静态成员函数。相关推荐
- C++深度解析 类中的函数重载 -- 全局函数,普通成员函数,静态成员函数(28)
C++深度解析 类中的函数重载 -- 全局函数,普通成员函数,静态成员函数(28) 函数重载的回顾 函数重载的本质为相互独立的不同函数 C++中通过函数名和函数参数确定函数调用 无法直接通过函数名得到 ...
- C++网络编程快速入门(一):TCP网络通信基本流程以及基础函数使用
目录 流程概述 服务器端代码实现 客户端代码实现 函数和结构讲解 sockaddr_in和sockaddr socket : 创建一个socket连接 bind :绑定地址以及端口号问题 流程概述 客 ...
- java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况
/* 样例1:class Parent{int num = 3;}class Child extends Parent{int num = 4;} *//* 样例2: class Parent{}cl ...
- C++_类和对象_对象特性_成员变量占用对象内存_成员函数_静态成员函数_静态变量_都不占用对象内存_他们是分开存储的---C++语言工作笔记048
然后我们来看c++中的,类的对象的大小,类中的成员变量和函数的存储问题. 首先我写个空类 然后在类外写个test01这个函数,然后 在main方法中调用这个test01这个函数
- C++ static静态成员函数详解
在类中,static 除了可以声明静态成员变量,还可以声明静态成员函数.普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员. 编译器在编译一个普通成员函数时,会隐式地 ...
- C++ static静态成员函数
在类中,static 除了可以声明静态成员变量,还可以声明静态成员函数.普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员. 编译器在编译一个普通成员函数时,会隐式地 ...
- C++网络编程快速入门(二):Linux下使用select演示简单服务端程序
目录 select参数解释 select使用规范 select使用缺点 基本流程 实例代码 通信效果演示 往期文章 select参数解释 extern int select (int __nfds, ...
- 深入解析C++编程中的静态成员函数
这篇文章主要介绍了深入解析C++编程中的静态成员函数,是C++入门学习中的基础知识,需要的朋友可以参考下 C++静态成员函数 与数据成员类似,成员函数也可以定义为静态的,在类中声明函数的前面加stat ...
- 将类的成员函数作为回调函数(外一篇:友元函数)
转自:http://blog.csdn.net/xylary/article/details/1548596 将类成员函数用做C回调函数 提出问题: 回调函数是基于C编程的Windows SDK的技 ...
最新文章
- Linux磁盘怎么备份,Linux的硬盘分区表备份与还原
- BEGIN-4 Fibonacci数列
- 位枚举(Bit Flags)
- java 蓝桥杯 基础练习 FJ的字符串
- lcd1602怎么利用按键清屏_边学边练,8个LCD1602精选电路方案大合辑
- 【图论训练】最小拓扑序
- 服务器系统的安装方法,服务器的操作系统安装方法
- 使用phppgadmin 遇到的小问题
- 火狐浏览器常用插件的使用
- ubuntu安装无线网卡驱动(Ralink)
- 徒步50公里,35岁的联想可以,你也可以
- 米兰理工计算机博士申请,意大利博士申请:米兰理工大学16个博士/博士后项目招生中~...
- ❤520给她准备的情人节礼物~html+css+javascript漫天飞雪3D相册(含音乐)
- shel脚本基础系列(二)语法+运算+判断
- 64位系统可以装python32位吗_Python - pyinstaller在64位系统下打包32位程序
- 基于Zookeeper的分布式锁
- 自定义view仿写今日头条点赞动画
- 计算机网络状态机,计算机网络之七:TCP协议(1)
- 电视直播加点播,800+直播频道全网影视资源
- java技术学习交流群,诚邀您的加入
热门文章
- 晚上锻炼后夜宵吃什么
- 专业词汇及解释 2.0版(持续更新,自用)
- 抗乳腺癌候选药物的优化建模
- optional的基本方法demo(orElseThrow,ifPresent,orElseGet,FlatMap)
- 关于mali-T860这款GPU的带宽问题
- 快手直播弹幕采集-python-protobuf解析
- 分析NFS的16个组成员身份的限制的过程
- 第011天:移动设备的定位技术
- 坚固耐用的智能手机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 深度学习论文: U-Net and its variants for Medical Image Segmentation : A short review