iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++类的静态成员变量实例分析
  • 799
分享到

C++类的静态成员变量实例分析

2023-06-30 09:06:33 799人浏览 薄情痞子
摘要

本文小编为大家详细介绍“c++类的静态成员变量实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++类的静态成员变量实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、成员变量的回顾通过对象名能够访

本文小编为大家详细介绍“c++类的静态成员变量实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++类的静态成员变量实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一、成员变量的回顾

  • 通过对象名能够访问 public 成员变量

  • 每个对象的成员变量都是专属的

  • 成员变量不能在对象之间共享

二、新的需求

  • 统计在程序运行期间某个类的对象数目

  • 保证程序的安全性(不能使用全局变量)

  • 随时可以获取当前对象的数目

下面来看示例:

#include <stdio.h>int GCount = 0; class Test{private:    int mCount;public:    Test() : mCount(0)    {        gCount++;    }    ~Test()    {        --gCount;    }    int getCount()    {        return gCount;    }};Test gTest;int main(){    Test t1;    Test t2;    printf("count = %d\n", gTest.getCount());    printf("count = %d\n", t1.getCount());    printf("count = %d\n", t2.getCount());    return 0;}

输出结果如下:

C++类的静态成员变量实例分析

虽然这段代码可以获得当前定义对象的数量,但是使用了全局变量,不能保证程序的安全性,那么有什么好的办法呢?且看下面。

三、静态成员变量

在 C++ 中可以定义静态成员变量

  • 静态成员变量属于整个类所有

  • 静态成员变量的生命期不依赖于任何对象

  • 可以通过类名直接访问公有静态成员变量

  • 所有对象共享类的静态成员变量

  • 可以通过对象名访问公有静态成员变量

静态成员变量的特性

  • 在定义时直接通过 static 关键字修饰

  • 静态成员变量需要在类外单独分配空间

  • 静态成员变量在程序内部位于全局数据区

语法规则:

Type ClassName:VarName = value;

下面来看一下静态成员变量的使用:

#include <stdio.h>class Test{private:    static int cCount;public:    Test()    {        cCount++;    }    ~Test()    {        --cCount;    }    int getCount()    {        return cCount;    }};int Test::cCount = 0;Test gTest;int main(){    Test t1;    Test t2;    printf("count = %d\n", gTest.getCount());    printf("count = %d\n", t1.getCount());    printf("count = %d\n", t2.getCount());    Test* pt = new Test();    printf("count = %d\n", pt->getCount());    delete pt;    printf("count = %d\n", gTest.getCount());    return 0;}

输出结果如下:

C++类的静态成员变量实例分析

Test* pt = new Test(); 动态在堆空间生成了一个 test 对象,所以会触发构造函数的调用,所以 count 变成了 4,delete pt; 后 count 就变成 3 了。

读到这里,这篇“C++类的静态成员变量实例分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网其他教程频道。

--结束END--

本文标题: C++类的静态成员变量实例分析

本文链接: https://www.lsjlt.com/news/327914.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++类的静态成员变量实例分析
    本文小编为大家详细介绍“C++类的静态成员变量实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++类的静态成员变量实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、成员变量的回顾通过对象名能够访...
    99+
    2023-06-30
  • C++类的静态成员变量与静态成员函数详解
    目录1、类的静态成员变量2、静态成员函数总结1、类的静态成员变量 C++类的静态成员变量主要有以下特性: 1.静态成员变量需要类内定义,类外初始化 2.静态成员变量不依赖于类,静态成...
    99+
    2024-04-02
  • C++分析讲解类的静态成员变量是什么
    目录一、成员变量的回顾二、新的需求三、静态成员变量四、小结一、成员变量的回顾 通过对象名能够访问 public 成员变量每个对象的成员变量都是专属的成员变量不能在对象之间共享 二、新...
    99+
    2024-04-02
  • 怎么理解C++类的静态成员变量与静态成员函数
    本篇内容介绍了“怎么理解C++类的静态成员变量与静态成员函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、类的静态成员变量C++类的静态...
    99+
    2023-06-25
  • C++的静态成员变量和静态成员函数详解
    目录一.static修饰变量二.static修饰函数三.static在类中使用1.创建与初始化 2.使用问题 3.在public、private下static变量使用 四.class...
    99+
    2024-04-02
  • 怎么理解C++的静态成员变量和静态成员函数
    怎么理解C++的静态成员变量和静态成员函数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一.static修饰变量void text() {static&nb...
    99+
    2023-06-22
  • C++类的对象作类成员调用构造、析构函数及静态成员实例分析
    这篇文章主要介绍了C++类的对象作类成员调用构造、析构函数及静态成员实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++类的对象作类成员调用构造、析构函数及静态成员实例分析文章都会有所收获,下面我们一起...
    99+
    2023-06-30
  • C++的静态成员变量和静态成员函数你了解多少
    目录静态成员变量静态变量在任何类对象创建前初始化定义静态成员变量使用静态成员变量类对象共享静态成员const constexpr静态成员函数总结静态成员变量 这里先引用Geeksfo...
    99+
    2024-04-02
  • C++静态持续变量举例分析
    本篇内容介绍了“C++静态持续变量举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、auto关键字我们现在知道,使用auto关键字可...
    99+
    2023-06-21
  • c++静态成员变量的作用是什么
    c++中的静态成员变量是属于类的成员变量,而不是属于类的特定对象。静态成员变量只有一个副本,而不是每个对象都有一个副本。静态成员变量...
    99+
    2024-03-11
    c++
  • C++类的静态成员有哪些
    本篇内容介绍了“C++类的静态成员有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在静态成员函数的实现中不能直接引用类中说明的非静态成员...
    99+
    2023-06-17
  • C++分析类的对象作类成员调用构造与析构函数及静态成员
    目录类对象作为成员静态成员定义和分类静态成员变量静态成员函数总结类对象作为成员 C++类中的成员可以是另一个类的对象,我们称该成员为 对象成员 例如: class Phone {} ...
    99+
    2024-04-02
  • C++分析讲解类的静态成员函数如何使用
    目录一、未完成的需求二、问题分析三、静态成员函数四、小结一、未完成的需求 统计在程序运行期间某个类的对象数目保证程序的安全性(不能使用全局变量)随时可以获取当前对象的数目 在C++分...
    99+
    2024-04-02
  • C#中静态类和静态类成员的区别是什么
    C#中静态类和静态类成员的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#静态类和静态类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立...
    99+
    2023-06-17
  • java内部类引用局部变量与外部类成员变量实例分析
    这篇“java内部类引用局部变量与外部类成员变量实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java内部类引用局部...
    99+
    2023-06-17
  • VB.NET局部静态变量的示例分析
    这篇文章将为大家详细讲解有关VB.NET局部静态变量的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。VB支持用Static关键字声明局部变量,这样在过程结束的时候可以保持变量的数值:Public&...
    99+
    2023-06-17
  • 如何理解C++类的静态成员
    这期内容当中小编将会给大家带来有关如何理解C++类的静态成员,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。静态数据成员的值对每个对象都是一样,这些对于一些专业的程序员来说进行静态成员函数实现是一件非常头疼...
    99+
    2023-06-17
  • java静态成员变量怎么赋值
    Java静态成员变量可以通过以下两种方式进行赋值:1. 在静态代码块中赋值:```javapublic class MyClass ...
    99+
    2023-08-23
    java
  • c++中类的构造函数可以初始化静态成员变量吗
    c++ 中类的构造函数可以初始化静态成员变量。初始化语法如下:在构造函数中使用 staticmembervariable = ...; 声明。静态成员变量仅在第一次执行构造函数时初始化一...
    99+
    2024-05-09
    c++
  • C#静态变量和非静态变量的区别
    本篇内容介绍了“C#静态变量和非静态变量的区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#基础概念之一,静态变量和非静态变量的区别?静...
    99+
    2023-06-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作