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

  1. 静态成员为所有类对象所共享,不属于某个具体的实例
  2. 静态成员变量必须在类外定义,定义时不添加static关键字
  3. 类静态成员即可用类名::静态成员或者对象.静态成员来访问
  4. 静态成员函数没有隐藏的this指针,不能访问任何非静态成员
  5. 静态成员和类的普通成员一样,也有public、protected、private3种访问级别,也可以具有返回值

【问题】

  1. 静态成员函数可以调用非静态成员函数吗?
    不可以。
  2. 非静态成员函数可以调用类的静态成员函数
    可以。
    原因:因为非静态成员需要this指针,静态成员函数内部没有this指针

【编程】C++入门:static成员——用static修饰的成员函数,称之为静态成员函数。相关推荐

  1. C++深度解析 类中的函数重载 -- 全局函数,普通成员函数,静态成员函数(28)

    C++深度解析 类中的函数重载 -- 全局函数,普通成员函数,静态成员函数(28) 函数重载的回顾 函数重载的本质为相互独立的不同函数 C++中通过函数名和函数参数确定函数调用 无法直接通过函数名得到 ...

  2. C++网络编程快速入门(一):TCP网络通信基本流程以及基础函数使用

    目录 流程概述 服务器端代码实现 客户端代码实现 函数和结构讲解 sockaddr_in和sockaddr socket : 创建一个socket连接 bind :绑定地址以及端口号问题 流程概述 客 ...

  3. java中对象多态时成员变量,普通成员函数及静态成员函数的调用情况

    /* 样例1:class Parent{int num = 3;}class Child extends Parent{int num = 4;} *//* 样例2: class Parent{}cl ...

  4. C++_类和对象_对象特性_成员变量占用对象内存_成员函数_静态成员函数_静态变量_都不占用对象内存_他们是分开存储的---C++语言工作笔记048

    然后我们来看c++中的,类的对象的大小,类中的成员变量和函数的存储问题. 首先我写个空类 然后在类外写个test01这个函数,然后 在main方法中调用这个test01这个函数

  5. C++ static静态成员函数详解

    在类中,static 除了可以声明静态成员变量,还可以声明静态成员函数.普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员. 编译器在编译一个普通成员函数时,会隐式地 ...

  6. C++ static静态成员函数

    在类中,static 除了可以声明静态成员变量,还可以声明静态成员函数.普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员. 编译器在编译一个普通成员函数时,会隐式地 ...

  7. C++网络编程快速入门(二):Linux下使用select演示简单服务端程序

    目录 select参数解释 select使用规范 select使用缺点 基本流程 实例代码 通信效果演示 往期文章 select参数解释 extern int select (int __nfds, ...

  8. 深入解析C++编程中的静态成员函数

    这篇文章主要介绍了深入解析C++编程中的静态成员函数,是C++入门学习中的基础知识,需要的朋友可以参考下 C++静态成员函数 与数据成员类似,成员函数也可以定义为静态的,在类中声明函数的前面加stat ...

  9. 将类的成员函数作为回调函数(外一篇:友元函数)

    转自:http://blog.csdn.net/xylary/article/details/1548596 将类成员函数用做C回调函数 提出问题:  回调函数是基于C编程的Windows SDK的技 ...

最新文章

  1. Linux磁盘怎么备份,Linux的硬盘分区表备份与还原
  2. BEGIN-4 Fibonacci数列
  3. 位枚举(Bit Flags)
  4. java 蓝桥杯 基础练习 FJ的字符串
  5. lcd1602怎么利用按键清屏_边学边练,8个LCD1602精选电路方案大合辑
  6. 【图论训练】最小拓扑序
  7. 服务器系统的安装方法,服务器的操作系统安装方法
  8. 使用phppgadmin 遇到的小问题
  9. 火狐浏览器常用插件的使用
  10. ubuntu安装无线网卡驱动(Ralink)
  11. 徒步50公里,35岁的联想可以,你也可以
  12. 米兰理工计算机博士申请,意大利博士申请:米兰理工大学16个博士/博士后项目招生中~...
  13. ❤520给她准备的情人节礼物~html+css+javascript漫天飞雪3D相册(含音乐)
  14. shel脚本基础系列(二)语法+运算+判断
  15. 64位系统可以装python32位吗_Python - pyinstaller在64位系统下打包32位程序
  16. 基于Zookeeper的分布式锁
  17. 自定义view仿写今日头条点赞动画
  18. 计算机网络状态机,计算机网络之七:TCP协议(1)
  19. 电视直播加点播,800+直播频道全网影视资源
  20. java技术学习交流群,诚邀您的加入

热门文章

  1. 晚上锻炼后夜宵吃什么
  2. 专业词汇及解释 2.0版(持续更新,自用)
  3. 抗乳腺癌候选药物的优化建模
  4. optional的基本方法demo(orElseThrow,ifPresent,orElseGet,FlatMap)
  5. 关于mali-T860这款GPU的带宽问题
  6. 快手直播弹幕采集-python-protobuf解析
  7. 分析NFS的16个组成员身份的限制的过程
  8. 第011天:移动设备的定位技术
  9. 坚固耐用的智能手机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  10. 深度学习论文: U-Net and its variants for Medical Image Segmentation : A short review