标签:占用 turn 通过 初始化 对象引用 out lock 静态成员初始化 共享
和JAVA中的静态差不多
静态成员可以实现多个对象之间的数据共享,并且使用静态数据成员还不会破坏隐藏的原则,即保证了安全性。
因此,静态成员是类的所有对象中共享的成员,而不是某个对象的成员。
使用静态数据成员可以节省内存,不占用内存,只有在实现的时候,才会占用内存
声明静态成员的时候,需要加static关键词
静态成员初始化,需要在实现里初始化,不能再头文件里初始化
静态不能被const修饰,否则编译错误
class StaticTest
{
public:
StaticTest(int a, int b, int c);
void GetNumber();
void GetSum();
static void f1(StaticTest &s); //静态函数
private:
int A, B, C;
static int Sum; //静态成员数据
};
#include "StaticTest.h"
#include <iostream>
using namespace std;
int StaticTest::Sum = 0;//静态成员在此初始化
StaticTest::StaticTest(int a, int b, int c)
{
A = a;
B = b;
C = c;
Sum += A + B + C;
}
void StaticTest::GetNumber()
{
cout << "Number = " << endl;
}
void StaticTest::GetSum()
{
cout << "Sum = " << Sum <<endl;
}
void StaticTest::f1(StaticTest &s)
{
cout << s.A << endl;//静态方法不能直接调用一般成员,可以通过对象引用实现调用
cout << Sum <<endl;
}
#include "StaticTest.h"
#include <stdlib.h>
int main(void)
{
StaticTest M(3, 7, 10), N(14, 9, 11);
M.GetNumber();
N.GetSum();
M.GetNumber();
N.GetSum();
StaticTest::f1(M);
system("pause");
return 0;
}
标签:占用 turn 通过 初始化 对象引用 out lock 静态成员初始化 共享
原文地址:https://www.cnblogs.com/wuyanzu/p/11874380.html