• 类静态成员作用,无论创建多少个实例,类静态成员只有一个副本,即不会被销毁,除非程序运行结束。
  • 类静态成员只能单独定义,无法在构造函数中定义类静态成员
  • 类静态成员访问的话 只能通过类静态函数访问
  • 类静态存放在静态存储区,只有运行结束后,才会被销毁,无法通过delete方式销毁,原因是因为存放位置不同。

类静态成员函数实例

  • 首先是静态类声明,里面包含了静态成员函数findmm,和静态成员变量cur_count
#include "stdafx.h"class Samples{public:Samples();~Samples();void doing();static void findmm();int mm;
private:int m_SampleCount;static int cur_count;};
  • 类静态函数实现
// SmartPointers.cpp : 定义控制台应用程序的入口点。
// 智能指针使用#include "stdafx.h"
#include "SampleDemo.h"using namespace std;int Samples::cur_count = 22;
Samples::Samples():m_SampleCount(11),mm(1111)
{//mm = 12;std::cout<< "Sample Init();" << endl;cout << mm << endl;
}Samples::~Samples()
{std::cout << "Sample Release();" << endl;
}void Samples::doing()
{cout << m_SampleCount << endl;cout << "正在姑丈" << endl;
}void Samples::findmm()
{cur_count = cur_count + 1;cout << cur_count << endl;//cout << mm << endl;
}int _tmain(int argc, _TCHAR* argv[])
{//std::auto_ptr<Samples> ss(new Samples());Samples *ss = new Samples();ss->doing();ss->findmm();delete ss;Samples *ff = new Samples();ff->doing();ff->findmm();delete ff;system("pause");return 0;
}

运行截图:

C++static类静态成员函数及变量解析相关推荐

  1. 【C++基础学习】关于C++静态成员函数和变量

    代码一: class Point{ public:void output(){}static void init(){} }; int main() {Point pt;pt.init();pt.ou ...

  2. Cpp 对象模型探索 / 类静态成员函数的调用方式

    一.普通静态成员函数的调用方法 栗子: class CA { public:static void func() {} };int main() {CA A;A.func();CA::func();r ...

  3. C++类静态成员与类静态成员函数

       当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享.各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象 ...

  4. 类中的静态成员变量和静态成员函数

    static静态成员函数 1.static 修饰成员变量 2.static修饰静态成员函数 引子: 静态成员函数: 注意: 3.const 修饰静态成员 静态成员案例 案例1:静态成员 统计类 实例化 ...

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

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

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

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

  7. 类的成员函数指针和静态成员函数指针 调用成员函数***

    C++提供static这个关键词对静态成员进行声明,静态成员函数和类的实例化无关,对于同一类来说,静态成员函数是所有类的对象共享的.而普通成员函数需要实例化才能调用,对于每一个实例来说,普通成员函数是 ...

  8. c++ ——静态成员变量和静态成员函数

    前言 c++ 静态成员变量用static 关键字来声明,是整个类的数据成员,其存储不占用某个具体对象的空间,其存储在静态存储区. c++ 静态成员函数用static 关键字来声明,用于处理静态成员变量 ...

  9. 【C++静态成员函数不能调用非静态成员变量】

    C++静态成员函数不能调用非静态成员变量 静态成员函数 this指针 C++静态成员函数不能调用非静态成员变量原因 为什么要引入static 什么时候用static 致谢 静态成员函数 定义:静态成员 ...

最新文章

  1. [20150113]关于oracle的存储结构.txt
  2. WCF基础知识问与答
  3. 我的第一篇blog 【随意】
  4. 移民申请--申请澳大利亚技术移民的职业评估有技巧(2)
  5. 整理:C++中sprintf()函数的使用详解
  6. 全国软考数据库系统工程师教程(第2版)目录
  7. 树的同构(c语言静态链表实现)
  8. SAP云平台上两个ABAP系统实例之间的互连
  9. Visual Studio 2017正式版离线安装及介绍
  10. 【UOJ188】 Sanrd【类min_25筛】
  11. Lire对图片进行索引
  12. 《程序设计导引及在线实践》开始
  13. pta 计算圆周率(C语言实现)
  14. 酉矩阵、克罗内克积/和 脑图总结
  15. 利用MsOffice将PPT转换成图片
  16. 腾讯下载的视频怎么转换成mp4格式
  17. Windows PE (老毛桃) 介绍功能介绍
  18. DDE实现动态数据交换
  19. 24_MySQL高可用之MMM
  20. Spark集群环境搭建+Maven、SBT编译部署+IDEA开发(一)

热门文章

  1. 百度、阿里等大厂面试技巧总结,Java工程师必看!
  2. 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题.....
  3. 字符串拼接,什么时候会走StringBuilder?
  4. 从宏观的实现原理和设计本质入手,带你理解 AOP 框架的原理
  5. Oracle主要概念汇总
  6. Hanlp得到语义相似度的方法
  7. Java HashMap源码剖析
  8. Buffer、ArrayBuffer、DataView互转(node.js)
  9. Oracle随记笔记
  10. Java多线程系列--“JUC锁”03之 公平锁(一)