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

单例模式的析构函数失误

2013-11-08 
单例模式的析构函数出错#include iostream using namespace std//静态变量版本 懒汉模式 class singlet

单例模式的析构函数出错
  #include <iostream>
 using namespace std;
 
 //静态变量版本 懒汉模式 
class singletonA
 {
 //类中默认生成的 构造函数,copy构造函数,赋值设置为私有变量 
 private:
 singletonA()
 {
num=10 ; 
    }  

singletonA(const singletonA& single);
singletonA operator=(const singletonA& single);
     ~singletonA();
int num ;
public:
// 获得类唯一经验变量的接口,在第一次使用的时候创建 
static singletonA* GetSingletonA()
{
    static singletonA SingleClass;
return &SingleClass ; 
}

void printNum()
{
cout << num << "\n" << endl ;
}
 };

错误提示:[Error] F:\C++TEST\singleton\singletonA.h:22: undefined reference to `singletonA::~singletonA()' C++
[解决办法]

#include <iostream>
using namespace std;

//静态变量版本 懒汉模式 
class singletonA
{
//类中默认生成的 构造函数,copy构造函数,赋值设置为私有变量 
private:
singletonA()
{
num=10 ;  
}  

singletonA(const singletonA& single);
singletonA operator=(const singletonA& single); 
~singletonA() {}
int num ;

public:
// 获得类唯一经验变量的接口,在第一次使用的时候创建 
static singletonA* GetSingletonA()
{
static singletonA SingleClass;
return &SingleClass ; 
}

void printNum()
{
cout << num << "\n" << endl ; 
}
};

int main()
{
singletonA* singleton = singletonA::GetSingletonA();

return 0;
}

[解决办法]
~singletonA();
这只是声明,没有函数主体吧?

~singletonA()
{}

热点排行