注册 登录
编程论坛 C++教室

static的用法

y605302737 发布于 2013-02-22 16:11, 263 次点击
请问下面代码中static后的内容 是什么意思
程序代码:
class apple
{
   public:
   apple();
   ~apple();
  
   static apple* fM;
   static apple* GetInstance();
   ......
}
代码中的fM,和GetInstance()分别是代表什么,类指针??或是其它?
2 回复
#2
yuccn2013-02-22 17:01
apple* fM;  说明这个不是apple对象的,而是属于apple模板的成员。

static apple* GetInstance() ;一般都是return apple::fM;的实现。
比如一些单实例对象就是这样的代码框架,而且有时候会把构造函数放在protect 中不让外面直接构造对象,而是通过GetInstance() 内部来构造对象
比如:
class apple
 {
    protect:
    apple();
    ~apple();

public:
    static apple* fM;
    static apple* GetInstance()
{
   if (fM == NULL)
   {
       fM = new apple;
    }
    return fM;
};
    ......
 
#3
y6053027372013-02-23 09:19
回复 2楼 yuccn
多谢您的回答,虽说看的不是太明白,看来还要多学习
1