| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2881 人关注过本帖
标题:C++单身模式
只看楼主 加入收藏
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
回楼上
#include<iostream>
using namespace std;
class SingleObj{
public:
    static SingleObj* GetSingleObj();
    void dump() const{
        cout<<"this is singleobj.."<<endl;
    }
private:
    SingleObj(){};
    SingleObj(SingleObj &a){}
    static SingleObj *obj;
};

SingleObj* SingleObj::obj=new SingleObj();//这里知道怎么解释吗?
SingleObj* SingleObj::GetSingleObj() {
     return obj;
}
int main(void)
{
    SingleObj::GetSingleObj()->dump();
    SingleObj obj_(*SingleObj::GetSingleObj());
    obj_.dump();
   return 0;
}

学习需要安静。。海盗要重新来过。。
2008-04-23 20:06
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
动态创建SingleObj的对象嘛///不是么?

樱花大战,  有爱.
2008-04-23 20:53
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
看来我还是有点作用域的问题没弄明白,现在好了..以前一直SingleObj* SingleObj::obj=new SingleObj();理解成在类体外面..其实还是在里面..这样就好理解了

学习需要安静。。海盗要重新来过。。
2008-04-23 21:19
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
我感觉C++的作用域比较繁琐....

樱花大战,  有爱.
2008-04-23 21:29
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
这里的static是修饰指针嘛...刚才思考了, 这个不能构成单件模式,而且还有要delete

樱花大战,  有爱.
2008-04-23 21:35
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
恩..我只是为了说明刚的new运算符问题...不删除就内存泄露了

学习需要安静。。海盗要重新来过。。
2008-04-23 21:37
快速回复:C++单身模式
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014481 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved