VC不定参数的传递和自定义异常的抛出
来源:优易学  2010-1-14 11:36:56   【优易学:中国教育考试门户网】   资料下载   IT书店

  一,在vc自定义函数中传定不定个数的参数,即如format函数中的第二个参数"...",能接收任意个数参数;
  二,自定义异常的抛出,即throw一个自定义异常.
  函数代码列如下:
  //ComboProp.h:interfacefortheCComboPropclass.
  //
  //////////////////////////////////////////////////////////////////////
  #if!defined(AFX_COMBOPROP_H__B155C456_9EA6_42DB_87B9_30540D83B5D8__INCLUDED_)
  #defineAFX_COMBOPROP_H__B155C456_9EA6_42DB_87B9_30540D83B5D8__INCLUDED_
  #if_MSC_VER>1000
  #pragmaonce
  #endif//_MSC_VER>1000
  #include"bcgpproplist.h"
  classCSelItemException:publicCException//trow的异常类的定义
  {
  public:
  CSelItemException(constint&SelIndex,constint&ItemCount)//修改构造函数,使catch时可以获取要报告的参数
  {
  this->m_IndextoSeled=SelIndex;
  this->m_ItemCount=ItemCount;
  }
  CSelItemException(CSelItemException&m)//缺省拷贝构造函数,若没有这个函数,则需要使用throw&CSelItemException(SeledIndex,pCombo->GetCount());的方式
  {
  this->m_IndextoSeled=m.m_IndextoSeled;
  this->m_ItemCount=m.m_ItemCount;
  }
  virtual~CSelItemException();
  public:
  intm_IndextoSeled;
  intm_ItemCount;
  };
  classCComboProp:publicCBCGPProp
  {
  public:
  CComboBox*CreateCombo(CWnd*pWndParent,CRectrect,intSeledIndex=-1,LPCTSTRItemString1=NULL, ...);
  BOOLAddOption(intnSeledIndex=-1,LPCTSTRItemString1=’’,...);//向属性列表中增加下列选项
  CComboProp(constCString&strGroupName,DWORD_PTRdwData=0,BOOLbIsValueList=FALSE)
  :CBCGPProp(strGroupName,dwData,bIsValueList){}
  CComboProp(constCString&strName,const_variant_t&varValue,LPCTSTRlpszDescr=NULL,
  DWORD_PTRdwData=0,LPCTSTRlpszEditMask=NULL,LPCTSTRlpszEditTemplate=NULL,LPCTSTRlpszValidChars=NULL)
  :CBCGPProp(strName,varValue,lpszDescr,dwData,lpszEditMask,lpszEditTemplate,lpszValidChars){}
  virtual~CComboProp();
  };
  #endif//!defined(AFX_COMBOPROP_H__B155C456_9EA6_42DB_87B9_30540D83B5D8__INCLUDED_)
  //ComboProp.cpp:implementationoftheCComboPropclass.
  //
  //////////////////////////////////////////////////////////////////////
  #include"stdafx.h"
  #include"GDFCheck.h"
  #include"ComboProp.h"
  #ifdef_DEBUG
  #undefTHIS_FILE
  staticcharTHIS_FILE[]=__FILE__;
  #definenewDEBUG_NEW
  #endif
  //////////////////////////////////////////////////////////////////////
  //Construction/Destruction
  //////////////////////////////////////////////////////////////////////
  CSelItemException::~CSelItemException()
  {
  }
  CComboProp::~CComboProp()
  {
  }

[1] [2] [3] 下一页

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训