2010年1月10日 星期日

CuKeyStatusComposite - group of KeyStatus

// group of KeyStatus


CuKeyStatusComposite ksComposite;

for( int j = 0 ; j < arr.size() ; j++ )
{
    CuKeyStatus *pks = new CuKeyStatus;
    // ...
    ksComposite.push_back(pks);
}

ksComposite.clear();

// CuKeyStatusComposite.h

class CuKeyStatusComposite :
 public TuComposite<CuKeyStatus>
{
public:
    CuKeyStatusComposite(void);
    ~CuKeyStatusComposite(void);

    int GetEqualItemIndex( CuKeyStatus &KeyStatus);
};



// CuKeyStatusComposite.cpp

CuKeyStatusComposite::CuKeyStatusComposite(void)
{
}

CuKeyStatusComposite::~CuKeyStatusComposite(void)
{
    this->clear();
}

int CuKeyStatusComposite::GetEqualItemIndex( CuKeyStatus &KeyStatus)
{
    int nResult = -1;
    
    _itor = _itsElement.begin();
    
    while(  _itor != _itsElement.end() )
    {
    
        if( KeyStatus == *(*_itor) )
        {
            nResult = _itor - _itsElement.begin();
            break;
        }
    
        _itor++;
    
    }
    
    return nResult;

}
GetEqualItemIndex 只有這個專案需要, 沒有打算移到 TuComposite 內, 下次在遇到時, 在處理.

1 則留言:

  1. 用到陣列時, 若是遇到需要對每個元素做同一處理, 加入Composite的好地方.

    回覆刪除