当前位置: 首页 > news >正文

c++ 静态成员变量

Student.h头文件内容:

#pragma once
#include <string>
using namespace std;class Student
{
public:string name;int score;static int totalScore; // 静态局部变量声明Student(string name, int score);~Student();void print() const;
};

Student.cpp源文件内容:

#include "Student.h"
#include <iostream>Student::Student(string name, int score) : name(name), score(score) {Student::totalScore += score;
}int Student::totalScore = 0; // 静态成员变量定义和初始化, 必须Student::~Student() {cout << "student: " << name << " 析构" << endl;
}void Student::print() const {cout << "student: " << name << ", my score:" << score << " , all students' total score: " << Student::totalScore << endl;
}

测试代码:

#include "Student.h"void testStaticVal() {Student* stu1 = new Student("隔壁老王", 60);stu1->print();Student* stu2 = new Student("隔壁老宋", 80);stu2->print();delete stu1;delete stu2;std::cout << "totalScore: " << Student::totalScore << std::endl;
}

打印:

ok. 静态成员变量属于类,在全局数据区分配内存。

相关文章:

  • xss漏洞学习
  • 什么是可恢复保险丝
  • ELF文件,静态链接(Linux)
  • 关于 ​​Thread 与 Runnable​​ 以及 ​​线程生命周期​​ 的详细说明与示例
  • 实战二:开发网页端界面完成黑白视频转为彩色视频
  • 6.7-leetcodeT3170
  • AcWing--数据结构1
  • 淘晶驰的串口显示屏T0 T1 K0 X2 X3 X5之间有何区别 各自的优势是啥 划分的依据是啥
  • CAN转PROFINET协议网关之PROFINET转CANfree组态秘诀
  • Go 语言 sync.WaitGroup 深度解析
  • spring:实例工厂方法获取bean
  • 源码级拆解:如何搭建高并发「数字药店+医保购药」一体化平台?
  • hmdp知识点
  • 深入剖析 RocketMQ 中的 DefaultMQPushConsumerImpl:消息推送消费的核心实现
  • SAP 在 AI 与数据统一平台上的战略转向
  • 测试(面经 八股)
  • 2025年—Comfyui聚合插件:Comfyui-LayerStyle 超多实用功能 | 附各功能模型
  • LeetCode 118 杨辉三角 (Java)
  • 【面试篇 9】c++生成可执行文件的四个步骤、悬挂指针、define和const区别、c++定义和声明、将引用作为返回值的好处、类的四个缺省函数
  • 如何使用Jmeter进行压力测试?
  • 凡科网站免费注册/广告传媒公司经营范围
  • 网站访客qq统计 原理/短视频营销策略
  • 凡科做的网站/优化的含义
  • 济宁网站网站建设/搜索引擎推广实训
  • 芜湖营销网站建设/千锋教育的官网
  • 苏州网站建设科技有限公司/360优化大师app