描述:
想实现这样的方法
open() open(int x)
即同一个借口方法名,实现有参数和不同的参数几种状态
好像不可以添加重载接口方法
我该如何实现,用VC6
解决方案1:
like this: interface Ia{ INT Open();}
interface Ib{ INT Open(int b);}
interface Iab{
INT MyOpen(IDispatch *pDp)
{
if( pDp == NULL)
{ pIa->Open();
}
else{
pIb->Open(Convert2Int(pDp));
}
}
com不支持同名函数,不支持默认值
如果你想支持不同的参数,就自己根据invoke函数传入的参数的个数来判断
COM接口中不能存在同名方法,否则会出现MIDL2003错误:redefinition
只能改改名字了。
MARK