当前位置: 首页 > wzjs >正文

西安高端网站制作北京网站建立公司

西安高端网站制作,北京网站建立公司,太原推广型网站制作,seo网站设计工具目录 静态成员的定义 静态成员变量 编程示例 存在的意义 静态成员函数 类内声明 类外定义 编程示例 静态成员的定义 静态成员在C类中是一个重要的概念,它包括静态成员变量和静态成员函数。静态成员的特点和存在的意义如下: 静态成员变量 1…

目录

静态成员的定义

静态成员变量

编程示例

存在的意义

静态成员函数

类内声明

类外定义

编程示例


静态成员的定义

静态成员在C++类中是一个重要的概念,它包括静态成员变量静态成员函数。静态成员的特点和存在的意义如下:

静态成员变量

1. 定义

  • 共享性:类的所有对象都能访问并修改静态成员变量,这使得对象之间能够进行数据共享。
  • 唯一性:无论创建了多少个类的实例(对象),静态成员变量仅有一份拷贝。这意味着对静态成员变量的修改会影响到所有对象。
  • 类内声明(声明但不分配内存)

    class MyClass {
    public:static int staticValue;  // 声明静态成员变量(类内)// 其他成员...
    };

2. 初始化:静态成员变量需要在类外进行初始化,通常在类的实现文件中。

  • 类外定义(分配内存并初始化)
    int MyClass::staticVar = 42;  // 在类外定义并初始化(通常在.cpp文件)

3. 访问:静态成员变量可以通过类名直接访问,不需要创建类的对象。也可以通过类的对象访问。

  • 通过类名直接访问静态成员变量,例:MyClass::staticValue
    •  MyClass(类名)+ ::(双冒号)+ (staticValue)静态变量名
  • 通过类的对象访问静态成员变量,例:m1.staticValue
    • m1(对象)+ .(运算符)+ (staticValue)静态变量名

4. 用途:常用于存储类级别的信息(例如,计数类的实例数量)或全局数据需要被类的所有实例共享。

编程示例

#include <iostream>using namespace std;class MyClass
{
public: // 公有权限static int staticValue; // 声明一个静态成员变量void setStaticValue(int data); // 声明一个普通变量成员函数
};// 类外初始化静态成员变量
int MyClass::staticValue = 0;// 类外定义普通成员函数 setStaticValue 
void MyClass::setStaticValue(int data)
{staticValue += data; // 修改静态成员变量的值
}int main()
{cout << "使用类名直接访问静态成员变量:" << MyClass::staticValue << endl << endl;// 定义两个对象MyClass m1,m2;// 两个对象输出的结果都是:0// m1、m2对象都能访问到静态变量 staticValue 说明静态变量是共享的// 以下通过类名访问静态成员变量cout << "m1对象访问静态成员变量的值:" << m1.staticValue << endl;cout << "m2对象访问静态成员变量的值:" << m2.staticValue << endl<< endl;// 不管有多少个对象,静态变量只有一份拷贝,表示静态成员变量的唯一性// 如果其中一个对象,对静态变量进行修改,都会影响到所有对象当问静态变量的结果cout << "m1对象修改静态变量的值由0改为1" << endl<< endl;m1.setStaticValue(1);cout << "m1对象访问静态成员变量的值:" << m1.staticValue << endl;cout << "m2对象访问静态成员变量的值:" << m2.staticValue << endl;return 0;
}

存在的意义

共享数据:允许对象之间共享数据,而不需要每个对象都有一份拷贝。

节省内存:对于频繁使用的类,使用静态成员可以节省内存。

独立于对象的功能:静态成员函数提供了一种在不创建对象的情况下执行操作的方法,这对于实现工具函数或管理类级别状态很有用。

静态成员函数

1. 定义:静态成员函数是可以不依赖于类的实例(对象)而被调用的函数。它不能访问类的非静态成员变量和非静态成员函数

  • 类内声明

    在类声明中使用 static 关键字修饰函数:

    class MyClass {
    public:static void staticFunction();  // 声明静态成员函数
    };
  •  类外定义

    在类外部定义函数实现时不需要重复 static 关键字:

    void MyClass::staticFunction() {// 函数实现std::cout << "静态成员函数被调用" << std::endl;
    }

2. 访问:类似于静态成员变量,静态成员函数可以通过类名直接调用,也可以通过类的实例(对象)调用。

  • 通过类名直接调用,例:MyClass::getStaticValueNumFunc()
  • 通过对象直接调用,例:m1.getStaticValueNumFunc()

3. 用途:常用于实现与具体对象无关的功能,或访问静态成员变量。

编程示例

#include <iostream>using namespace std;class MyClass
{
private: // 私有权限static int staticValueNum; // 声明静态成员变量
public: // 公有权限static int getStaticValueNumFunc();MyClass() // 构造函数{staticValueNum++;}~MyClass() //析构函数{staticValueNum--;}
};// 在类外初始化静态变量
int MyClass::staticValueNum = 0;// 在类外定义静态函数
int MyClass::getStaticValueNumFunc()
{return staticValueNum;
}int main()
{cout << "通过类名访问静态成员函数:" << MyClass::getStaticValueNumFunc() << endl;// 创建对象MyClass m1;cout << "通过对象访问静态成员函数:" << m1.getStaticValueNumFunc() << endl;return 0;
}


文章转载自:

http://ahFkzsxJ.nLygm.cn
http://JSORb9gc.nLygm.cn
http://WSH03lxc.nLygm.cn
http://A0soCkfb.nLygm.cn
http://11mfSzoh.nLygm.cn
http://ry8nvwtv.nLygm.cn
http://HDJ6MesK.nLygm.cn
http://8fbE1CnE.nLygm.cn
http://MZgdVr5M.nLygm.cn
http://wTSdMepF.nLygm.cn
http://lREPVaKQ.nLygm.cn
http://uwyqEGor.nLygm.cn
http://no8WX1kV.nLygm.cn
http://nHlATdtf.nLygm.cn
http://xBa6FES2.nLygm.cn
http://5rmv8aoJ.nLygm.cn
http://o2JeLjQi.nLygm.cn
http://MW9pQlCW.nLygm.cn
http://eRXUhq6W.nLygm.cn
http://JxyArS9D.nLygm.cn
http://NTWpT8Yf.nLygm.cn
http://CwdhefyL.nLygm.cn
http://0ZBSci5K.nLygm.cn
http://Ck2vKpCs.nLygm.cn
http://ybVQwcGe.nLygm.cn
http://7as8ICmL.nLygm.cn
http://VLPncGQj.nLygm.cn
http://E3BE48Pw.nLygm.cn
http://mWztedB0.nLygm.cn
http://fBMQ4l1X.nLygm.cn
http://www.dtcms.com/wzjs/658470.html

相关文章:

  • 推进网站集约化建设的做法wordpress改地址错误
  • jsp做网站的流程注册企业公司流程及费用
  • 企业网站建设新站个人是否可以申请持有网站
  • 推广的网站需要备案吗信息服务平台网站
  • 购买网站模板怎么用政务网站建设管理的论文
  • 多网站怎么做seo苏州做网站公司 速选苏州聚尚网络
  • 安康做网站公司大连在哪个省的什么位置
  • 阿里巴巴外贸订单网站重庆妇科医院排名前十
  • 西安鑫瀚通网站建设哪些网站页面简洁
  • 漳州企业网站建设制作销量最高的wordpress模版
  • 中国字体设计网站世界500强企业市值排名
  • 做网站怎么自定义背景图片中卫网站设计公司排名
  • 做网站是先做后台还是前端做公司网站的公
  • 青海公司网站建设哪家快二手房公司网站建设
  • 好大夫官方网站网上预约挂号wordpress pods使用
  • 什么叫精品网站建设wordpress 自动邮件
  • 网站ui怎么做的公司网站建设模板下载
  • 宿迁网站建设费用商城网站建设模板下载
  • 网站建设模板下载云服务器价格对照表
  • 电子商务网站建设与管理实验总结域名解析工具
  • 新昌网站制作惠州自适应网站建设
  • 怎么做微信小说网站怎么给网站添加图标
  • 怎么在各个网站免费推广信息怎么提升学历最快
  • 网站策划书包含的内容如何做网站网页表白
  • 郑州做花店网站企业网站管理系统设计报告
  • 建水网站建设seo优化工具哪个好
  • 微信开发品牌seo技术优化服务
  • 阿里云用ip做网站长沙装修公司排名
  • 怎么直接用代码做网站网站401错误
  • 宾馆的网站回款如何做分录企业宣传片报价