C++中的static成员函数以及static成员变量详解「建议收藏」

C++中的static成员函数以及static成员变量详解

大家好,又见面了,我是全栈君。

static成员变量,在编程中我们时常都会遇到,那么你是否对static变量以及static成员函数有一定深入的认识呢?

static定义的成员变量,存储的区域是内存四区(栈区、堆区、全局区、代码区)中的全局区,在程序运行之前就已经生成在全局区中,直到程序运行结束才会被系统释放。

class Student { 
   
private:
	static int m_rate;        // 类内定义static变量
public:
	static void set_rate(const int& x) { 
    m_rate = x; }
};

int Student::m_rate = 5;     // 类外初始化static变量

int main()
{ 
   
	Student::set_rate(6);    // static 成员函数可以直接使用类名进行访问,也可以使用对象进行调用访问
	system("pause");
	return 0;
}

在C++中有时会定义一些static变量,同时也会定义一些static成员函数。对于static成员函数以及属性的调用需要注意的点有以下几个:

1.static成员函数的调用的成员变量(属性)只能够是static成员属性,不能够调用普通成员变量属性(因为编译器无法确定调用的是哪个对象的成员属性);

2.static成员变量(属性)并不占用类的内存空间,static成员变量并不存储在类中,存储在全局区;

3.static成员变量(属性)时所有对象共同拥有的一份变量,并不属于任何一个对象成员;

4.static成员属性以及static成员函数都不存在this指针(并不属于任何一个成员);

5.static成员属性能够被继承,可以在派生类中访问到(前提:原有属性为公有,继承为公有继承),但是存储的只是一份数据,没有进行复制多份;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115099.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python—数据类型之float类型

    Python—数据类型之float类型浮点类型 Python 提供了 3 种浮点值 内置的 float 与 complex 类型 以及标准的 decimal Decimal 类型 Python 支持混合模式的算术运算 int 与 float 运算 生成 float float 与 complex 运算 生成 complex decimal Decimal 与 intS 运算 生成 decimal Decimal 注意 不兼容的数据类型进行运算 会产生 TypeEr

    2025年9月14日
    2
  • windows环境下的Anaconda安装与OpenCV机器视觉环境搭建[通俗易懂]

    windows环境下的Anaconda安装与OpenCV机器视觉环境搭建[通俗易懂]windows环境下的Anaconda安装与OpenCV机器视觉环境搭建本文介绍win7和win10系统下通过Anaconda配置基于python语言的机器视觉编程环境(博主测试了两个系统下的安装基本相同),主要内容包括:Anaconda下载安装 OpenCV下载安装 测试安装结果本文安装的版本为:Anaconda4.2+Python3.5+OpenCV3.4如需安装更新版…

    2022年6月3日
    50
  • 白盒测试技术_静态白盒测试

    白盒测试技术_静态白盒测试覆盖率 它是度量测试完整性的一个工具,通常可以分为逻辑覆盖和功能覆盖。覆盖率=(被执行到的项数/总项数)*100%逻辑覆盖 逻辑覆盖是以程序内部的逻辑结构为基础设计测试用例的技术,属于白盒测试。      被测试模块的流程图语句覆盖 设计若干测试用例,运行被测程序,使每个可执行语句至少执行一次。 语句覆盖率=被评价到的语句数量/

    2025年11月29日
    6
  • (转)DirectX下 Viewing Frustum 的详细实现

    (转)DirectX下 Viewing Frustum 的详细实现

    2021年8月8日
    53
  • 各种常用不等式汇总「建议收藏」

    各种常用不等式汇总「建议收藏」对数学中常用的不等式进行了汇总,目前只有结论,没有证明

    2025年11月13日
    4
  • h2数据库使用(h2数据库生成的文件)

    h2数据库进入shelljava-cp../lib/h2-1.4.200.jarorg.h2.tools.ShellWelcometoH2Shell1.4.200(2019-10-14)ExitwithCtrl+C[Enter]jdbc:h2:~/testURLjdbc:h2:/usr/local/db/xxx-xxx[Enter]org.h2.DriverDriver[Enter]UserxxxxxxPasswo

    2022年4月12日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号