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)
上一篇 2021年9月29日 下午9:00
下一篇 2021年9月29日 下午10:00


相关推荐

  • 存储卡的使用方法大全

    存储卡的使用方法大全存储卡的使用方法大全现在购买诺基亚手机,尤其是其智能手机的朋友是越来越多了,与其他品牌的机型相比,诺基亚的手机有一个最大的优点,就是支持储存卡内存扩充的机型比较多,这让大家在使用中不必再担心手机容量的问题,这也体现了诺基亚“科技以人为本”的宣传口号。今天,就为大家讲一讲适用于诺基

    2022年7月11日
    57
  • Hwclock用法介绍

    Hwclock用法介绍Hwclock 介绍在 Linux 中有硬件时钟与系统时钟两种时钟 硬件时钟是指主机板上的时钟设备 也就是通常可在 BIOS 画面设定的时钟 系统时钟则是指 kernel 中的时钟 当 Linux 启动时 系统时钟会去读取硬件时钟的设定 之後系统时钟即独立运作 所有 Linux 相关指令与函数都是读取系统时钟的设定 hwclock 实现了 BIOS 和 linux 的时间同步 Hwclock 语法说明

    2026年3月18日
    2
  • java sftp 连接超时_Java sftp

    java sftp 连接超时_Java sftpimportjava io File importjava io InputStream importjava util ArrayList importjava util List importjava util Properties importjava util Vector importorg apache log4j Logger importcom jcraft jsc

    2026年3月26日
    2
  • goland 2021.11.4 激活【中文破解版】

    (goland 2021.11.4 激活)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月29日
    50
  • 2年开发经验总结的java面试题(有完整答案)

    2年开发经验总结的java面试题(有完整答案)一、Java基础部分1、Java基本数据类型有八种:四种整数类型(byte、short、int、long),两种浮点数类型(double、float)一种字符类型char,一种布尔类型Boolean记忆:8位:Byte(字节型)16位:short(短整型)、char(字符型)32位:int(整…

    2022年6月18日
    54
  • 电脑爱好者2012年5-12期「建议收藏」

    电脑爱好者2012年5-12期「建议收藏」电脑爱好者2012年第05期全彩高清PDF免费高速下载.pdf电脑爱好者2012年第06期全彩高清PDF免费高速下载.pdf电脑爱好者2012年第07期全彩高清PDF免费高速下载.pdf电脑爱好者201…

    2022年6月14日
    35

发表回复

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

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