c++ –static关键字

c++ –static关键字

我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。

静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时,所有的静态数据都会被初始化为零。我们不能把静态成员的初始化放置在类的定义中,但是可以在类的外部通过使用范围解析运算符 :: 来重新声明静态变量从而对它进行初始化,如下面的实例所示。

下面的实例有助于更好地理解静态成员数据的概念:

#include<iostream>
#include<cstring>

using namespace std;
class Box{
	public :
		static int objectCount;
		//构造函数定义
		Box(double l = 2.0, double b = 2.0, double h = 2.0) 
		{
			cout << "Constructor called." << endl;
			length = 1;
			breadth = b;
			height = h;
			//每次创建对象时增加一
			objectCount++;
		}
		double Volume(){
			return length*breadth*height;
		}
		private:
			double length;
			double breadth;
			double height; 
}; 
//初始化类 box 的静态成员
int Box::objectCount = 0;
int main(){
	
	Box b(3.3, 1.2, 1.5);
	Box t(8.5, 6.0 ,2.0);
	//输出对象的总数
	cout << "tolal objects "  << Box::objectCount << endl;
	cout << b.Volume() 
	system("pause");	
	return 0;
}  

c++ --static关键字

 

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114813.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • node require的用法_await与wait的区别

    node require的用法_await与wait的区别作为一个前端的新手,总是诧异于js的模块载入方式,看到了通过requireJs提供的require()命令之后,发现node也是通过类似的方法加载模块,我就好奇,这两个是一个东西吗?用electron写了一个webdeskapp,想通过CI上建一个job刷新repository,然后通过网页可以在team里面随时share软件的进度和功能,发现通过浏览器直接打开的这个app没法加载其他的库:

  • office文件 vue 预览_vue实现pdf文档在线预览功能

    office文件 vue 预览_vue实现pdf文档在线预览功能针对android系统不支持pdf文档在线预览,可通过引入pdf.js插件实现,其具体实现步骤如下一、引入插件方式一:npminstall–savepdfjs-dist,安装完成后在vue项目的node_modules出现如下依赖方式二:只引入pdf.js的核心文件pdf.js和pdf.work.js,其他无关的文件全部删除,如图方式三:将插件直接放在static文件夹下,如图二、前端页面…

  • 苏州工业园区智慧党建星平台(福利院上班怎么样)

    背景需求:福利院属于民政社会保障的组成部分,是民政社会福利方向的业务之一,民政福利院等养老机构管理是面向公、私立的各种社会福利院、养老院、颐养院、养护院内部业务经办管理过程,服务的群体是困难老年人、孤老残障优抚对象、失独老年人、社会老年人。解决方案:民政养老服务信息管理解决方案主要帮助民政部门对养老行业实现信息化的管理。政府部门通过民政养老信息管理平台对养老基础数据采集、养老机构…

  • UltraEdit 配置 shell 语法高亮

    UltraEdit 配置 shell 语法高亮从UE官网下载wordfile扩展文件包,http://www.ultraedit.com/files/wf/wf.zip,解压后找到文件“unixshell.uew”,将其复制到ue的wordfile配置文件夹.点击菜单上的“高级”–>“配置”勾选“启用语法彩色显示”–>“已安装的词语文”选择bash–>点击应用,重启UE即可本文参考:http://blog.cs

  • ios屏幕旋转设置_旋转平移和缩放

    ios屏幕旋转设置_旋转平移和缩放目录(?)[-]一如何设置AnchorPoint二如何获得AnchorPoint经常会遇到需求,要求手势的缩放或者旋转操作,要求动作变化围绕某一个特定点,或者是两指的中心点,或者是某一个点。这个问题首先要清晰的知道,iOS各个view的层次关系。特别是,要清楚的知道,当前view的frame与superView的bounds是一个坐标

  • 汇编语言实现数组求和_汇编语言loop循环1到100求和

    汇编语言实现数组求和_汇编语言loop循环1到100求和ARM汇编数组求和、ARM汇编语句循环框架

发表回复

您的电子邮箱地址不会被公开。

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