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关键字

 

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

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

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


相关推荐

  • 51单片机智能小车的通俗易懂讲解「建议收藏」

    51单片机智能小车的通俗易懂讲解「建议收藏」..从上面导航图,我们可以看到,智能小车,共分为三步外部检测,控制中心,轮子输出控制。等于人的眼睛,大脑,手脚。..因为控制中心和轮子输出控制是一样的,只有前面的外部检测,换个模块工作而已。…..在这里我们先简单了解一下,上面两个外部检测,可以扩展什么功能。,.红外线类循迹避障循迹加避障等等..超声波类避障魔法手舵机式避障等等…..

    2022年5月8日
    56
  • android gridview控件使用详解_android tablelayout

    android gridview控件使用详解_android tablelayoutfrom:http://blog.csdn.net/weich_java/article/details/6987198笔者在用GridView时发现GridView的selectstyle会根据系统而不同,因为在客户端中一边具有统一的显示风格,所以尝试了下指定GridView的选中样式。首先看一下代码:menu.xmlandroid:layout_width=”fill_parent”andr…

    2022年9月25日
    1
  • 与ClientWidth有关的一点资料「建议收藏」

    与ClientWidth有关的一点资料「建议收藏」51windows.Netvar s=””;s+=”网页可见区域宽:”+document.body.clientWidth;s+=”网页可见区域高:”+document.body.clientHeight;s+=”网页可见区域宽:”+document.body.offsetWidth +”(包括边线的宽)”;s+=”网页可见区域高:

    2022年7月22日
    14
  • C++学习(一五九)Qt的场景图Scene Graph

    C++学习(一五九)Qt的场景图Scene Graph例如,假设用户界面包含十个项目的列表,其中每个项目都有背景色,图标和文本。使用传统的绘图技术,这将导致30次绘图调用和类似数量的状态更改。另一方面,场景图可以重组原始图元以进行渲染,以便在一次调用中绘制所有背景,然后绘制所有图标,然后绘制所有文本,从而将绘制调用的总数减少到仅3个。批处理和状态更改减少这样可以大大提高某些硬件的性能。…

    2025年5月23日
    3
  • 电脑DVD光驱变成CD光驱的解决方法

    电脑DVD光驱变成CD光驱的解决方法相信很多朋友都遇到过这个问题:电脑的DVD光驱盘符突然变成CD光驱,然而DVD数据光盘可以正常读取的问题。设备管理器里显示的也是DVD,但我的电脑里就是显示CD驱动器。虽然能正常使用,但看着总是不爽吧。我也遇到过几次,到网上查了查都说了一堆废话,没一个能解决问题的,于是自己研究了下,其实很简单啦。以前优化系统的时候总是会优化一下服务,把不用的都关了,让它不自动启动,其实就是这个服务的问题。    

    2022年5月2日
    740
  • http、https、ftp、talnet的默认端口号「建议收藏」

    http、https、ftp、talnet的默认端口号「建议收藏」http:80https:443(安全协议)ftp:21(文件传输协议)telent:23(远程控制登录协议)tomcat:8080mysql:3306redis:6379

    2022年6月15日
    42

发表回复

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

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