0
点赞
收藏
分享

微信扫一扫

静态指针成员的妙用


一、静态成员的特点

  • 用​​static​​定义的成员变量是静态成员;
  • 静态成员是与类绑定的,而不是与对象绑定的,所以静态成员不需要实例化就可以通过类名访问;
  • 因为静态成员是与类绑定的,所以静态成员只开辟一个内存空间(普通成员,有多少个对象,就开辟多少个内存空间);
  • 因为静态成员只开辟一个内存空间,所以该类的所有对象共享静态成员的内存空间;

二、静态成员的使用

2.1、声明静态成员

class Test {
public:
Test();
~Test();

//声明一个本类的静态指针
static Test *test;
}

2.2、定义并初始化静态成员(类外)

#include "Test.h"

//定义并初始化静态成员
Test* Test::test = NULL;

Test::Test()
{

}

Test::~Test()
{

}

2.3、实例化(静态指针成员只能初始化一次)

Test::Create()
{
if(test == NULL)
test = new Test;
}

Test::Release()
{
if(test != NULL)
{
delete test;
test = NULL;
}
}

//main.cpp
#include <Test.h>
int main() //保证只初始化一次
{
Test::Create();

....

Test::Release();
}

2.4、调用

在类中定义本类的静态成员指针,在任何想要访问这个类的地方,只需要包含该类的头文件,就可以通过:​​类名::静态成员指针->成员变量/方法​​ 来访问。


举报

相关推荐

0 条评论