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

请会c++又会java的达人帮助一下,把c++的程序改成java,多谢了

2012-03-14 
请会c++又会java的达人帮助一下,把c++的程序改成java,谢谢了请会c++又会java的达人帮助一下,把c++的程序改

请会c++又会java的达人帮助一下,把c++的程序改成java,谢谢了
请会c++又会java的达人帮助一下,把c++的程序改成java,谢谢了,我不会c++……
各位帮帮忙吧

Floor.h文件中的

class   FloorI:virtual   public   Floor

{

              virtual   bool   Register(const   string   &   name,const   Current   &   context);

              virtual   void   SetInput(const   string   &   content,const   Current   &   context);

              virtual   void   Unregister(const   Current   &   context);

              virtual   void   SetupCallback(const   CallBackPrx   &   prx,const   Current   &   context);

              CacheMap   m_cache_map;

};

class   CallBackI:virtual   public   CallBack

{

public:

              virtual   void   GetInput(const   string   &   content,const   Current   &   context);

};


FloorI.CPP中的
bool   FloorI::Register(const   string   &   name,const   Current   &   context)

{

              if(m_cache_map.find(name)!=m_cache_map.end())

                            return   0;

              else

                            m_cache_map[name];

              return   1;

}

void   FloorI::Unregister(const   Current   &   context)

{

              Context::const_iterator   q=context.ctx.find( "user_name ");

              if(q!=context.ctx.end())

              {

                            CacheMap::iterator   p;

                            if((p=m_cache_map.find(q-> second))!=m_cache_map.end())

                                          m_cache_map.erase(p);

              }

}

void   FloorI::SetupCallback(const   CallBackPrx   &   prx,const   Current   &   context)

{

              Context::const_iterator   p=context.ctx.find( "user_name ");

              if(p!=context.ctx.end())

              {

                            m_cache_map[p-> second]=prx;

              }

}

void   FloorI::SetInput(const   string   &   content,const   Current   &   context)



{

              Context::const_iterator   q=context.ctx.find( "user_name ");

              if(q!=context.ctx.end())

              {

                            CacheMap::iterator   p;

                            for(p=m_cache_map.begin();p!=m_cache_map.end();++p)

                            {

                                          if(p-> first!=q-> second)

                                          {

                                                        Context   ctx;

                                                        ctx[ "user_name "]=q-> second;

                                                        try

                                                        {

                                                                      p-> second-> GetInput(content,ctx);

                                                        }

                                                        catch(ConnectionRefusedException   e)

                                                        {

                                                                      m_cache_map.erase(p);

                                                                      cout < < "   挂了 " < <endl;

                                                        }



                                                        catch(NullHandleException   e)

                                                        {

                                                                      m_cache_map.erase(p);

                                                                      cout < < "   没有诚意 " < <endl;

                                                        }

                                          }

                            }

              }

}


CALLBACK.CPP中的

void   CallBackI::GetInput(const   string   &   content,const   Current   &   context)

{

              Context::const_iterator   q=context.ctx.find( "user_name ");

              if(q!=context.ctx.end())

              {

                            cout < < "[ " < <q-> second < < "   say] " < <content < <endl;

              }

}

这是相关   ICE   的一个聊天程序,各位帮帮忙吧   谢谢了



[解决办法]
有些多了 ~

楼主找一个 java 现成的不成么?
[解决办法]
这种事情应该没人会帮你做吧,你有什么地方不懂可以直接问,

CacheMap 是一个由string 到 bool的映射类型
Current 应该是一个由string 映射到string的类型
映射又称map、字典等等。
至于iterator是用来遍历一个映射类型的。
常用法
XX::iterator i;
for (i = xx.begin(); i != xx.end() i++)
{
i-> first;//这是映射的键
i-> second;//这是映射的值
}
find方法返回一个iterator,如果找不到,就会返回一个和xx.end()同样的值。
[解决办法]
java.util.Emu**也有相似的便利
[解决办法]
c++ ----- java
map <t,t> java.util.Property
[解决办法]
class FloorI implements Floor

{
public bool Register(String name, Current context);

public void SetInput(String content,Current context);

public void Unregister(Current context);

public void SetupCallback(CallBackPrx prx,Current context);



public CacheMap m_cache_map;

};

java中可是没有callback函数的

class CallBackI implements CallBack
{
public void GetInput(string content,Current context);
};
[解决办法]
public bool Register(String name,Current context)

{

if(m_cache_map.isEmpty())

return 0;

else

..?.//m_cache_map[name];

return 1;

}

热点排行
Bad Request.