类定在哦orastatement.h声明(内有部分函数定义)段:class COraBindVariable{ public: COraBindVariable(void *pSrc,unsigned char *pNullInd){ m_pBindNext = NULL;m_pvExtData = pSrc;m_pNullInd = pNullInd;CheckNullIndicator();}virtual ~COraBindVariable(){} virtual bool CheckNullIndicator();virtual sb4 OraDataSize()=0;virtual ub2 OraDataType()=0;virtual void *OraData(){return m_pvExtData;}virtual bool CopyToIntVar(OCIError *pErr){ CheckNullIndicator(); return true;}virtual bool CopyToExtVar(OCIError *pErr){ return true;}dvoid *GetIndicator(){return (dvoid *)&this->m_ind;}void *m_pvExtData;unsigned char *m_pNullInd;COraBindVariable *m_pBindNext;sb2 m_ind;}; 类在orastatement.cpp中函数定义段:bool COraBindVariable::CheckNullIndicator(){ m_ind = (m_pNullInd && m_pNullInd[0]) ? -1 : 0;return m_ind == -1;}备注:仅此函数在CPP中定义出错部分代码:bool CBindVariableList::CopyToExtVarList(OCIError *pErr){ return ForEachItem(COraBindVariable::CopyToExtVar(),pErr);}return所调用函数ForEachItem的定义:bool CBindVariableList::ForEachItem(bool (COraBindVariable::*func)(OCIError *),OCIError *pErr){ bool b = true;COraBindVariable *pVar = m_pBindVar;COraBindVariable *pNext;while(pVar){ pNext = pVar->m_pBindNext;if(! (pVar->*func)(pErr))b = false;pVar = pNext;}return b;}请个位高手前辈帮帮菜鸟小弟,其他信息:该类在.h文件中的子类有2个均为抽象类,另外编译过程为csh脚本,头文件已引入。
一只斗牛犬
相关分类