首页 > 其他分享 >static

static

时间:2024-07-08 09:53:03浏览次数:7  
标签:静态方法 变量 people 实例 static 类中

static

使用位置
在类或结构体中时:
在这个类的所有实例中,这个变量只有一个实例(就是说所有类实例都共享这个变量的值,这个变量的值一改变,所有类中的这个变量的值都改变)

例子:如果我们定义了一个类叫people,这个类中有一个变量是satic int x,之后我们在主函数中声明两个people实例p1,p2。如果我们想改变x的值,直接写people::x=5即可,不用把实例名带上。

class Player
{
public:
	static int age;
	static void print()
	{
		std::cout << age << std::endl;
		
	}
};
int Player::age;//在实体定义静态变量 哪些是这些静态变量的作用域 然后是变量的名称
int main()
{
	Player player;
	player.age = 9;//正确调用静态变量的方法应该是Player::age
	player.print();//正确调用静态方法是Player::print()

注意 静态方法不能访问非静态变量 因为静态方法没有类实例
每个静态方法都是通过获取当前类的一个实例作为参数,类中是看不到这个数的

static void print(Player e)
{
	std::cout << e.age << std::endl;
	
}//这是非静态方法工作的过程
static void print()
{ 
 std::cout << e.age << std::endl;
}//这是静态方法访问非静态变量的过程

static在类和结构体外使用时:
限定被修饰的变量只能在本c++文件中使用
尽量使用静态变量 能够节省工作开销 因为不用和其他文件进行链接

标签:静态方法,变量,people,实例,static,类中
From: https://www.cnblogs.com/WZline/p/18289343

相关文章

  • CSS【详解】定位 position (静态定位 static -- 文档流排布 、相对定位 relative、绝对
    静态定位position:static【默认】此时,元素按文档流的方式排布:以左上角为起点内联元素从左到右依次排布,当一行排不下时,自动换到下一行继续从左到右排布块级元素独占一行此时,top、left、right、bottom、z-index等样式无效。相对定位position:relative相对......
  • 30_static详解
    10_static详解publicclassPerson{{System.out.println("匿名代码块");}static{System.out.println("静态代码块");}publicPerson(){System.out.println("构造方法");}publicstaticvoid......
  • C++:类与面向对象&static和this关键字&其他关键字
    类与面向对象struct和class(1)struct是C中用户自定义类型,主要功能是对功能相关数据的封装(2)struct不能直接封装函数,但可以通过封装函数指针来间接封装函数(3)struct就是class的初级阶段,class在struct基础上做了很多扩展,便有了面向对象访问权限(1)类是对数据(成员变......
  • flutter项目报错[!] The ‘Pods-Runner‘ target has transitive dependencies that i
    运行flutter项目报错[!]The'Pods-Runner'targethastransitivedependenciesthatincludestaticallylinkedbinaries:(AMap2DMap/MAMapKit.framework,AMapLocation/AMapLocationKit.framework,andPods/AMapSearch/AMapSearchKit.framework)解决方案:使用静态框架......
  • 面试官:告诉我为什么static和transient关键字修饰的变量不能被序列化?
    一、写在开头在上一篇学习序列化的文章中我们提出了这样的一个问题:“如果在我的对象中,有些变量并不想被序列化应该怎么办呢?”当时给的回答是:不想被序列化的变量我们可以使用transient或static关键字修饰;transient关键字的作用是阻止实例中那些用此关键字修饰的的变量序列化;当......
  • abstract 的 method 是否可同时是 static,是否可同时是 native,是否可同时是 synchroni
    在Java中,abstract方法不能同时是static、native或synchronized。让我们详细解释每种情况,并提供相应的代码示例和解释:abstract方法不能是static:abstract方法必须被子类实现,而static方法是与类相关的,而不是与实例相关的。因此,不能将一个方法同时声明为abstract和......
  • Django框架入门必会三板斧,Django静态文件 static,Django有两种静态文件, Django框架
    ⅠDjango框架入门必会三板斧【一】Django项目如何添加新功能启动django项目之后如何添加更多的功能回想自己编写的web框架如果要添加功能就去urls.py和views.py【1】添加URL映射在项目的urls.py文件中,通过导入相应的应用(app)及其视图函数,并使用path()或include()......
  • Objective-C — static关键字用法详解
    Static的作用在Objective-C中,static关键字有几种不同的用途,主要用于修饰全局变量、局部变量、修饰静态函数1、static修饰的静态全局变量代码#import<Foundation/Foundation.h>//由于静态变量作用域仅限于声明它的文件,所以访问和设置可以通过以下方法来访问//通过setGlob......
  • static关键字的作用
    分析C语言static关键字的作用目录分析C语言static关键字的作用1.静态存储期(局部变量使用static时)2.静态全局变量3.static与函数一起使用先来看一个案例#include<stdio.h>inta=5;voidshow_val(void){intb=3;staticintc=2;a+=5;b+=5;c+=5......
  • Python - class Method and static Method
    Themethodsinaclassareassociatedwiththeobjectscreatedforit.Forinvokingthemethodsdefinedinsidethemethod,thepresenceofaninstanceisnecessary.Theclassmethodisamethodthatisalsodefinedinsidetheclassbutdoesnotneedanyob......