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

成为思想第二卷的一段单态例子 有点不明白

2013-03-21 
变成思想第二卷的一段单态例子 有点不明白代码如下 不明白的地方在代码中添加注释了// 2013030901.cpp :

变成思想第二卷的一段单态例子 有点不明白
代码如下 不明白的地方在代码中添加注释了



// 2013030901.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>

using namespace std;

class Singleton
{
private:
static Singleton s;
int i;
Singleton(int x):i(x){}
Singleton& operator=(Singleton&);
Singleton(const Singleton&);

public:
static Singleton& instance()
{
return s;
}

int getValue()
{
return i;
}

void setValue(int x)
{
i = x;
}
};

Singleton Singleton::s(47); // 这是什么意思?初始化一个Singleton吗 s不是私有的吗?Singleton Singleton是什么意思?

int main()
{
Singleton& s = Singleton::instance(); // 为什么用Singleton& s "&"是什么意思?
cout<<s.getValue()<<endl;
Singleton& s2 = Singleton::instance();
s2.setValue(1);
cout<<s.getValue()<<endl;

return 0;
}




主要在Singleton Singleton::s(47)这一句和Singleton& s = Singleton::instance(); 这一句不是很明白 求大家解释一下 谢谢了
[解决办法]
静态变量要全局声明
[解决办法]
Singleton Singleton::s(47);
第一个Singleton表示类,第二个Singleton及其::表示类Singleton中的静态成员s。
和起来就是构造了static Singleton s;这个s。
&表示引用。

在看思想之前,基本的语法要掌握了。

[解决办法]
第一个是变量s的类型,第二个是类的名称
[解决办法]
建议看看第一卷11章:引用和拷贝构造函数。讲的很详细
[解决办法]
《Windows核心编程》

热点排行