集中决策和分散决策(2)
与集中决策相对应的就是分散决策。下面的代码是按分散决策的思路写的。
class P2
{
private:
int m_nVal;
public:
int fun(int nVal1,int nVal2,int nVal3)const
{
if(m_nVal<60)
return nVal1;
else if(m_nVal==60)
return nVal2;
else if(m_nVal>60)
return nVal3;
return -1;
}
};
class P1
{
private:
int m_nVal;
public:
int fun(const P2& aP2)const
{
if(m_nVal<60)
return aP2.fun(0,1,2);
else if(m_nVal==60)
return aP2.fun(3,4,5);
else if(m_nVal>60)
return aP2.fun(6,7,8);
return -1;
}
}; www.zzzyk.com
int fun(const P1& aP1,const P2& aP2)
{
return aP1.fun(aP2);
}
原先存在fun的函数里的if-else判断都移到了类的内部,这才是面向对象的写法。每个类对自己内部数据负责,并依此做出决策。
摘自 acloudhuang的专栏
补充:软件开发 , C++ ,