勤能补拙,Expter

成都游戏Coder,记录游戏开发过程的笔记和心得!

一道静态变量的笔试题目


题目大概这样子。。
# include <iostream>
using namespace std;

class base
{
public:
    
base():m_val2(0)
    
{
    }


    
int &get1(){return m_val1;}
    
int &get2(){return m_val2;}
    

    
static int  getr1(int &a){return a++;}
    
static int  getr2(int &a){return a++;}

private:
    
static int m_val1;
    
int        m_val2;
}
;
int base::m_val1 = 0;
void print(int val)
{
    
static int count = 1;
    cout 
<< count++ <<",val = "<<val<<endl;
}


int main()
{
   
base o1;
   
base o2;
   print(o1.getr1(o1.get1()));
   print(o1.get1());
   print(o2.get1());

   print(o1.getr1(o1.get1()));
   print(o1.get1());
   print(o2.get1());

   print(o1.getr1(o1.get1()));
   print(o1.get1());
   print(o2.get1());

   print(o1.getr2(o1.get2()));
   print(o1.get2());
   print(o2.get2());
    
return 0;
}

主要考虑静态变量的存储空间。。。

答案很简单。。

posted on 2008-10-23 21:16 expter 阅读(550) 评论(0)  编辑 收藏 引用 所属分类: 面试笔记


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理