首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

单件构造有关问题?

2012-03-22 
单件构造问题???classsingle{public:single*GetInst(){returnm_pObjInstnewsingle}protected:single()s

单件构造问题???
class   single
{
public:
single*   GetInst(   )
{
return   m_pObjInst   =   new   single;
}
protected:
single(   );
single(   const   single&   );
single&   operator   =   (   const   single&   );
private:
static   single*   m_pObjInst;
};

single*   single::m_pObjInst   =   new   single;

会出现如下的错误提示:
正在链接...
single.obj   :   error   LNK2019:   无法解析的外部符号   "protected:   __thiscall   single::single(void) "   (??0single@@IAE@XZ)   ,该符号在函数   _$E1   中被引用

这是什么原因阿????????

[解决办法]
你的构造函数有声明无定义
另外,这个程序问题很多的……
[解决办法]
构造函数只有声明,没有函数体,所以链接错误。。。
[解决办法]
- -
[解决办法]
你要使用默认构造函数,就要有实现,没有操作就置空
single(){};
[解决办法]
nkgd(长歌天下)的写法仍然不是线程安全的~多线程环境下可能会出问题~
[解决办法]
to lf8289()

==========================
class single
{
public:
single* GetInst( )
{
return m_pObjInst;
}
protected:
single( );
single( const single& );
single& operator = ( const single& );
private:
static single* m_pObjInst;
};

single* single::m_pObjInst = new single;

这样子就可以实现了,呵呵,写错一条语句。
==========================
你这样能实现?

single* single::m_pObjInst = new single;//这里需要构造函数,但构造函数没有定义,出错

热点排行