【C++】静态成员变量和静态成员函数(static)

为了实现多个类公用一个成员变量或函数诞生了static,静态成员变量和静态成员函数。

static成员变量

格式

class A
{
public:
	static 静态成员变量类型 静态成员名;        
    }
}
  1. 静态成员变量必须在类外进行初始化,类内初始化会报错
class A {
private:
	static int x ;
};

int A::x = 0;

int main()
{
	A a();
	return 0;
}
  1. 静态成员变量是属于此类,而不属于此类的某个对象,所以这个静态成员变量只有一个,存放在静态区。

  2. 因为静态变量属于整个类,所以既可以用类对象.静态变量,也可以直接用类类型::静态变量

  3. 静态成员也是类的成员,受public、protected、private 访问限定符的限制

static成员函数

格式

class A
{
public:
	static 返回值类型 函数名(参数类型1 参数1.....) ;        
    }
}
  • 前四条特性与static成员变量相同
    • 五、静态成员函数没有隐藏的this指针,所以不能调用非静态的成员。
      • static静态成员函数不能调用非静态成员函数
      • 非静态成员函数可以调用static静态成员函数

static练习

求1+2+3+…+n_牛客题霸_牛客网 (nowcoder.com)

在这里插入图片描述

答:

class Solution {
    class Sum{
        friend int Sum_Solution(int n);
    public:    
        Sum()
        {
            tmp++;
            ret+=tmp;
        }
    };

public:
    int Sum_Solution(int n) {
        Sum S[n];
        return ret;
    }
private:  
        static int tmp;
        static int ret;
};
int Solution::tmp = 0;
int Solution::ret=0;

img

✨本文收录于C++语法及练习

当你喜欢一篇文章时,点赞、收藏和关注是最好的支持方式。如果你喜欢我的文章,请不要吝啬你的支持,点赞👍、收藏⭐和关注都是对我最好的鼓励。感谢你们的支持!如有问题欢迎指正!

相关推荐

  1. C++编程】类的静态 static 成员 & 常 const 函数

    2024-07-15 21:30:04       19 阅读
  2. C++_静态成员变量介绍

    2024-07-15 21:30:04       47 阅读
  3. 实例成员静态成员

    2024-07-15 21:30:04       23 阅读
  4. C++静态成员数据

    2024-07-15 21:30:04       68 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 21:30:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 21:30:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 21:30:04       58 阅读
  4. Python语言-面向对象

    2024-07-15 21:30:04       69 阅读

热门阅读

  1. 渗透环境安装篇之安装XSS漏洞靶场xss-labs

    2024-07-15 21:30:04       17 阅读
  2. Codeforces Round 957 (Div. 3)

    2024-07-15 21:30:04       21 阅读
  3. Qt中QTimer类使用简介

    2024-07-15 21:30:04       18 阅读
  4. 数仓实践:数据仓库建设公共规范指南

    2024-07-15 21:30:04       18 阅读
  5. 【LeetCode力扣】007. 整数反转(Python)

    2024-07-15 21:30:04       21 阅读