最新创建的类实例的静态类成员

我想从静态方法中访问非静态类成员。 它还定义了该类的哪个实例应该用于访问。 这是最近创建的实例。

我试图通过使用静态指针作为该类的成员来完成此操作,该指针指示最近传播的对象是什么。 每当我们安装一个对象时,类的构造函数都会设置这个指针。

代码如下所示:

class Klasse
{
public:
Klasse()
{
    me = this; //an error is thown here:"undefined reference to `Klasse::me'"
    nummer = eins;
}


private:
static Klasse* me;
enum
{
    eins = 1,
    zwei = 2
}nummer;

static void SMethod()
{
    me->nummer= zwei;
}
};


int main(void)
{
  int i = 0;

  Klasse instanz;
  //...
}

有没有人有一个想法,为什么错误“未定义引用`Klasse ::我'”被抛出?


你错过了这个:

Klasse* Klasse::me = nullptr;

静态数据成员必须在.cpp文件中定义。

链接地址: http://www.djcxy.com/p/96377.html

上一篇: static class members of the latest created class instance

下一篇: Accessing member variables through static pointer to instance