c++ 类 构造时 自身作为静态变量的初始化问题
例如:A.h中这样定义一个类classA{public:A();~A();voidprint123();private:staticA*m_handle;};在类的实现文...
例如:A.h中这样定义一个类
class A
{
public:
A();
~A();
void print123();
private:
static A *m_handle;
};
在类的实现文件A.cpp中
#include "A.h"
A::A()
{
m_handle = this;//在这里用this指针初始化编译报错
}
A::~A()
{
}
void A::print1()
{
printf("111111\n");
m_handle->print2();
}
void A::print2()
{
printf("22222\n");
}
请问:m_handle应当在哪里初始化? 展开
class A
{
public:
A();
~A();
void print123();
private:
static A *m_handle;
};
在类的实现文件A.cpp中
#include "A.h"
A::A()
{
m_handle = this;//在这里用this指针初始化编译报错
}
A::~A()
{
}
void A::print1()
{
printf("111111\n");
m_handle->print2();
}
void A::print2()
{
printf("22222\n");
}
请问:m_handle应当在哪里初始化? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询