关于单态的疑惑
在类体中不是不能有自身的对象元素吗?
比如这样
class a{
...
a obj1;//这个是不被允许的吧??
};
那在单态设计中不是就是这样的吗?
class a{
static a obj;
public:
a& get(){
return obj;
}
};
这两个不是矛盾了吗?感觉还是我哪个概念搞错了,望大家不惜赐教!
问题点数:40、回复次数:8Top
1 楼cunsh(村少)回复于 2006-11-04 13:15:21 得分 0
静态的可以Top
2 楼cunsh(村少)回复于 2006-11-04 13:16:34 得分 0
还有你的get() 也应该static的Top
3 楼cunsh(村少)回复于 2006-11-04 13:18:19 得分 10
应该是单件吧
Top
4 楼iamliadai()回复于 2006-11-04 13:20:47 得分 10
学习学习 第一次看到这样的方式 谢谢楼主Top
5 楼jixingzhong(瞌睡虫·星辰)回复于 2006-11-04 14:38:53 得分 0
static 特殊...Top
6 楼jixingzhong(瞌睡虫·星辰)回复于 2006-11-04 14:39:23 得分 10
static 属性本身就有很多和一般成员不一致的特性 ...Top
7 楼Osamede(猴有一个梦想)回复于 2006-11-04 14:39:34 得分 10
static member 是类的一部份,但不是对象的一部分。static member一定会有一个定义,实例化一个object。在声明一个类的对象,实例化member的时候就不会再去调用static member的构造函数,所以就算它是自身对象元素也不会陷入死循环。
上述为猜测,欢迎质疑。Top
8 楼magicalking()回复于 2006-11-05 09:50:50 得分 0
不知道static member 的实例化发生在什么时候啊?Top




