Hello,我是你们的好朋友一一,一一这次呢想跟大家分享的知识点是静态成员变量和静态成员函数

So what is the 静态成员???

1.静态成员:

在类定义中,它的成员(包括成员变量和成员函数),这些成员可以用关键字static声明为静态的,称为静态成员。

1.1 静态成员变量:

在一个类中,若将一个成员变量声明为static,这种成员称为静态成员变量。静态成员变量,属于某个类,所有对象共享。

静态变量,是在编译阶段就分配空间,对象还没有创建时,就已经分配空间。

一一敲黑板啦!!!

  1. 静态成员变量必须在类中声明,在类外定义。
  2. 静态数据成员不属于某个对象,在为对象分配空间中不包括静态成员所占空间。
  3. 静态数据成员可以通过类名或者对象名来引用。

话不多说,直接上代码吧!! !

//静态成员变量:在一个类中,在一个成员变量前面加static,在类中声明,类外定义class Person
{
public:static int m;//类内声明};int Person::m = 10; //类外初始化void test()
{Person p1;p1.m = 20;cout << p1.m << endl; //通过对象访问cout << Person::m << endl; //通过类名访问
}
int main()
{test();return 0;
}

1.2 静态成员函数

在类定义中,前面有static说明的成员函数称为静态成员函数。静态成员函数使用方式和静态变量一样,同样在对象没有创建前,即可通过类名调用。静态成员函数主要为了访问静态变量,但是,不能访问普通成员变量。

静态成员函数的意义,不在于信息共享,数据沟通,而在于管理静态数据成员,完成对静态数据成员的封装。

一一又来划重点啦!!!

  1. 静态成员函数只能访问静态变量,不能访问普通成员变量
  2. 静态成员函数的使用和静态成员变量一样
  3. 静态成员函数也有访问权限
  4. 普通成员函数可访问静态成员变量、也可以访问非经常成员变量

//静态成员函数
class Person
{
public:static void fun(){cout << "调用fun" << endl;}
};void test()
{Person p1;p1.fun();  //通过对象调用Person::fun();//通过类调用
}
int main()
{test();return 0;
}
//静态函数只能访问静态变量,不能访问非静态变量。class Person
{
public:static int m;int n;static void fun(){cout << "调用fun" << endl;m = 10;  //静态函数只能访问静态变量//n = 10;   报错,静态函数不能访问非静态变量}
};

今天一一也是元气满满的一天呀!大家继续冲鸭!!!

欢迎大家批评指正! 

end

C++中静态成员变量与静态成员函数相关推荐

  1. c++中静态成员变量和静态成员函数

    静态成员变量 在一个类中,若将一个成员变量声明为static,这种成员成为静态成员变量,与一般的数据成员不同,无论建立了多少个对象,都只想有一个静态数据的拷贝,静态成员变量,属于某个类,所有对象共享 ...

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

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

  3. C++静态成员变量和成员函数

    静态成员变量和成员函数 简介 sizeof不将静态成员变量的大小计算在内 可以通过类名来访问静态成员 静态成员函数不能访问类的非静态成员 简介 static加在局部变量的前面改变其存储类型使之成为静态 ...

  4. C++面试题-面向对象-静态成员变量以及静态成员函数

    C++面试题-面向对象-静态成员变量以及静态成员函数 问:在类中,静态数据成员和普通数据成员有何区别? 答: 普通数据成员属于类的对象,对象被创建后,普通数据成员才会分配内存.静态数据成员属于整个类, ...

  5. C++静态成员变量与静态成员函数

    类的静态成员有两种:静态成员变量和静态成员函数,语法是在普通成员变量和成员函数前加static关键字. 0.定义 class CRect{ public:void show();//普通成员函数sta ...

  6. C++的静态成员变量和静态成员函数

    C++的静态成员变量和静态成员函数 静态成员变量和静态成员函数算是C++面向对象编程中的一个重点和难点,这里的静态具体指什么呢?与普通的成员变量和成员函数相比,静态成员函数和静态成员变量是属于类的,而 ...

  7. 静态成员变量和静态成员函数

    静态成员变量 一个类中可以有一个或多个静态成员变量,所有的对象都共享这些静态成员变量,都可以引用它. static 成员变量和普通 static 变量一样,都在内存分区中的全局数据区分配内存,到程序结 ...

  8. qt 静态成员变量_Qt 静态成员函数的调用非静态成员变量,非静态成员函数

    在多人开发的项目中,一些通用的工具类接口可以用静态成员函数.方便调用,并且不容易调用错误. 静态成员函数不传递this指针(不能->),不识别对象个体,所以经常用于对静态数据成员进行操作.不能操 ...

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

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

最新文章

  1. 题目1019:简单计算器
  2. 今天收拾了个电脑抽屉,发现原来我是个有钱人
  3. 五千字详解消息通知!
  4. java如何写对象配置文件,Java 读写Properties配置文件详解
  5. P4139-上帝与集合的正确用法【欧拉定理】
  6. Netty Java快速指南
  7. Android天气预报设计
  8. ubuntu18虚拟机添加网卡后,不自动启用dhcp
  9. List<?> list= new ArrayList<?>接口引用指向实现类的对象.
  10. c#通过OleDb连接sybase 15.5
  11. (day 42 - 字符翻转 ) 剑指 Offer 58 - II. 左旋转字符串
  12. python基础学习笔记(七)
  13. php rand js,js中的php rand函数
  14. Adobe全系列软件介绍
  15. 2009福布斯最具潜力中小企业榜
  16. 电脑上最好的5个azw3阅读器
  17. 字节 和 位 的关系
  18. Artificial Intelligence-人工神经网络
  19. Nolan的分形分布估计软件Stable使用教程
  20. 双非计算机保研北邮经验贴|纯干货(面向平民)

热门文章

  1. python 天猫精灵_GitHub - IsMrX/ioT: Python MQTT oauth2 接入到天猫精灵
  2. ubuntu的U盘读取问题
  3. 智能指标驱动的管理和决策平台 Kyligence Zen 全新上线,限量内测中
  4. 备份一哈如屎一样的sql
  5. 如何成为一个有思想的人
  6. Linux服务器杀马(转)
  7. 我在个人站点里添加了樱花飘落特效
  8. Mac如何通过soundflower内录电脑系统声音
  9. java jackson maven,jackson中objectMapper的使用
  10. 计算机毕业设计ssm网上水果商城s7436系统+程序+源码+lw+远程部署