在C++类内部方法调用时,一般都是先去定义一个类的变量,实例化之后再通过类对象去调用类内部的函数。在项目中发现另一种比较方便的方法,不需要定义类对象,话不多说直接上代码。
实例代码如下:
#include <iostream>
using namespace std;
class A{
public:
A(int iNum){ i = iNum; }
void readName(){cout<<"i = "<<i<<endl;}
private:
int i;
public:
static A* _obj(){ return _object; }
static void _InitObj();
static void _FreeObj();
void read_it(){cout<<"it = "<<it<<endl;}
private:
static A* _object;
static int it;
};
void A::_InitObj()
{
A::_object = new A(4);
}
void A::_FreeObj()
{
if(A::_object != NULL)
{
delete _object;
A::_object = NULL;
}
}
A* A::_object = NULL;
int A::it = 9;
int main()
{
A::_InitObj();
A::_obj()->readName();
A::_obj()->read_it();
A::_FreeObj();
return 0;
}
上述代码执行结果:
通过上述代码可以清楚的知道,通过在类内部定义静态变量向外部类提供相应的接口去调用类的内部方法,该办法确实非常实用。