如何用全局变量得到类对象的指针?
首先申请一个全局变量,注意全局变量必须放在
.cpp
文件中,否则会出错。
然后在类的某个
public
成员函数中将
this
指针赋值给全局变量即可。
代码如下:
World.h
#include <iostream>
using namespace std;
class World{
public:
World(){//
创建时
std::cout<<"Hello!/n";
}
~World(){//
消失时
std::cout<<"Goodbye!/n";
}
World * getinstance();
};
World.cpp
# include "World.h"
World *p;
World * World::getinstance()
{
p = this;
return p;
}
主函数调用:
#include <iostream>
#include <iostream>
#include "World.h"
using namespace std;
int World::num =0;
extern World *p;
void main()
{
World a;
a.getinstance();
p->hi(); //p
已经是该类对象的指针,可以调用成员函数
}