CTP API纯虚类竟然能直接调用方法?

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: CTP API纯虚类竟然能直接调用方法?

疑问:查看CTP接口文件,CThostFtdcTraderApi类里都是纯虚函数,文档里讲解API类可以直接调用函数,那么纯虚函数怎么可能直接调用呢?难道没实现么?

疑问:我看了下定义,发现个问题,以交易为例,开发者应该派生CThostFtdcTraderSpi并重载里面的回调函数。至于CThostFtdcTraderApi这部分,应该是CTP已经实现好了,不需要重载。但是我发现CThostFtdcTraderApi这个类却是个抽象类且是个singleton,里面的函数都是纯虚函数,这是怎么回事?难道我还需要实现这部分吗?

统一回答:CThostFtdcTraderApi是抽象基类没错,但是调用Create…Api这个静态方法返回的是一个继承这个类已经实现了所有纯虚函数的子类实例。也就是这个CThostFtdcTraderApi类只是一个接口,告诉你Create返回的对象中有哪些方法可供调用。
你就当它是一个通过Create创建实例Release销毁实例的方式使用的已经实现好不可继承的类使用就行了。

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: CTP API纯虚类竟然能直接调用方法?

文章的脚注信息由WordPress的wp-posturl插件自动生成



|2|left
打赏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: