在 C++ 类中初始化静态变量
我们将在这篇短文中学习如何在 C++ 中初始化静态变量。
在 C++ 中初始化静态变量
C++类中静态变量的初始化就是给静态变量赋值的过程。
所有类对象都可以访问静态成员。 如果不存在其他初始化,则在创建第一个对象时所有静态数据都将初始化为零。
尽管我们不能将其包含在类定义中,但我们可以通过重新声明静态变量并使用作用域解析运算符确定其类从属关系来在类外部初始化它。 通常,初始化可以通过两种方式完成。
- 隐式地,通过将它们定义为常量。
- 显式地使用“static”关键字并赋值。
仅当我们确定所有静态变量已预先初始化时,才应使用隐式初始化。 否则,我们应该使用带有 static 关键字的显式初始化。
代码示例:
#include <iostream>
using namespace std;
class Sam {
public:
static int demo;
Sam(int x = 1, int y = 2, int z = 3) {
X= x;
Y = y;
Z = z;
}
private:
double X;
double Y;
double Z;
};
int Sam::demo = 7;
int main(void) {
Sam sam1(6, 7, 8);
cout << "Demo: " << Sam::demo << endl;
return 0;
}
输出:
Demo: 7
常量和静态变量之间的区别
在 C++ 中,变量是计算机内存中存储位置的名称,可以存储不同的数据类型,例如数字和文本。 这些名称称为标识符。
存储在变量中的数据可能会随着时间而改变。 这种类型的变量称为动态或动态类型。
另一种变量类型称为常量或常量类型。 存储在这种变量中的数据永远不会随着时间的推移而改变,常量通常用于在程序或函数开始时定义对象的属性和参数。
常量使用 const 关键字声明,只能在声明时或在函数内部初始化。 static 关键字仅创建变量一次,同一文件中的所有函数都可以访问该变量。
相关文章
C++ 中的垃圾收集
发布时间:2023/08/23 浏览次数:148 分类:C++
-
在本文中,我们将了解 C++ 中的垃圾收集。垃圾收集作为一种内存管理技术 垃圾收集是编程语言中使用的内存管理技术之一。 它是一种自动内存管理技术,作为许多编程语言的功能添加。
在 C++ 中分配和释放内存
发布时间:2023/08/23 浏览次数:70 分类:C++
-
C++ 编程语言提供了几个分配和释放内存的函数。 这些函数包括 malloc、calloc、realloc、free、new 和 delete。让我们从 new 和 delete 运算符开始。使用 new 和 delete 运算符分配和释放内存
查找 C++ 中的内存泄漏
发布时间:2023/08/23 浏览次数:70 分类:C++
-
本文将使用 C++ 编程语言解释内存泄漏、其原因、如何识别它们以及如何防止它们。C++ 中的内存泄漏 如果程序员先前分配给一个目的的部分内存被用于另一个目的,则称内存“泄漏”。
C++ 中的余切函数
发布时间:2023/08/23 浏览次数:58 分类:C++
-
本文是关于 C++ 中三角函数的求解。 许多函数在数学库中很容易获得,但有些函数不可用,例如余切函数。对于这样的函数,我们将实现一些高效的用户定义函数。C++ 中的三角函数
C++ 错误 Error: Cannot Call Member Function Without Object
发布时间:2023/08/22 浏览次数:199 分类:C++
-
本文介绍了使用C++进行面向对象编程时,常见的错误“无法调用没有对象的成员函数”。 此外,它还提供了对该错误的潜在修复。修复C++中 Error: Cannot Call Member Function Without Object 错误
C++ std::bad_alloc 异常
发布时间:2023/08/22 浏览次数:119 分类:C++
-
这篇短文讨论了 C++ 中 std::bad_alloc() 异常的主要原因。 它还讨论了使用 C++ 异常处理顺利处理此运行时异常的方法。C++ 中的异常处理
C++ 中的 NULL 未声明错误
发布时间:2023/08/22 浏览次数:157 分类:C++
-
本文将讨论C++中NULL关键字以及未声明NULL的错误。C+ 中的 NULL 关键字 NULL是C++中的常量,用于将指针变量初始化为0。NULL和0可以互换使用。
跳转到 switch 语句中的 Case 标签
发布时间:2023/08/22 浏览次数:103 分类:C++
-
本文将讨论 C++ 中 switch 语句的使用。 此外,还将讨论使用 switch 语句时可能出现的错误,包括跳转到 case 标签错误。C++ 中的 switch 语句