📄 static.cpp
字号:
#include <iostream.h>
#include <string.h>
class Person{
public:
char m_strName[20];
long m_ID;
static int m_nCount; // 静态成员变量,表示已创建对象的数量
public:
Person(char*, long); // 构造函数
static int GetCount(); // 静态成员函数
static long GetID(Person); // 对象作为静态成员函数的参数
};
Person::Person(char* strName, long ID)
{
strcpy(m_strName, strName);
m_ID=ID;
m_nCount++; // 对象数目加1
}
int Person::GetCount()
{
return m_nCount; // 访问静态成员变量
}
long Person::GetID(Person x)
{
return x.m_ID; // 不能直接访问非静态成员m_ID
}
int Person::m_nCount=0; // 初始化静态成员变量
void main()
{
Person e1("LiuJun",1101051);
cout<<Person::m_nCount<<" , "<<e1.m_nCount<<'\n'; // 通过类或对象访问静态成员变量
cout<<Person::GetCount()<<" , "<<Person::GetID(e1)<<'\n'; // 通过类调用静态成员函数
cout<<e1.GetCount()<<" , "<<e1.GetID(e1)<<'\n'; // 通过对象调用静态成员函数
Person e2("WangXiaogang",1101058);
cout<<Person::GetCount()<<" , "<<Person::GetID(e2)<<'\n';
cout<<e2.GetCount()<<" , "<<e2.GetID(e2)<<'\n';
cout<<e1.GetCount()<<" , "<<e1.GetID(e1)<<'\n'; // 对象e1和e2共享静态成员变量m_nCount
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -