C++中如何实现像Java中接口功能

 我来答
安徽新华电脑专修学院
2018-05-29 · 百度知道合伙人官方认证企业
安徽新华电脑专修学院
安徽新华电脑专修学院始建于1988年,隶属于新华教育集团,是国家信息化教育示范基地、中国 IT 教育影响力品牌院校.
向TA提问
展开全部

C++可以用纯虚函数实现类似于JAVA中接口的功能:

  • class Client {  

  • public:  

  • void process() {  

  • msg_ = read();//假设read返回string类型数据  

  • if(interface_) {  

  • interface_->pose_status(msg_); //实际执行了MainWindow中实现的接口方法  

  • }  

  • }  

  • class ClientInterface { //定义接口类  

  • public:  

  • virtual void pose_status(string msg) = 0; //接口方法  

  • ......  

  • }  

  • void register(ClientInterface *interface) { //实现接口类的纯虚函数(接口方法)的类调用此函数进行注册  

  • interface_ = interface;  

  • }  

  • private:  

  • string msg_;  

  • ClientInterface *interface_;  

  • }  

  • class MainWindow:public Client::ClientInterface {  

  • pubulic:  

  • MainWindow() {  

  • client.register(this);  

  • }  

  • void pose_status(string msg) {  

  • process(msg);//获得并处理msg数据  

  • }  

  • private:  

  • Client client;  

  • }  

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式