第一种方式就是子类重写父类的方法,在子类中定义和父类同样的方法,方法体中调用父类的方法

父类代码

#pragma once
#include "CClientSocket.h"
class CTCPInterface
{
public:CTCPInterface();~CTCPInterface();
public:CClientSocket m_Socket;bool m_bConnected;int m_nTimeout;CString m_strFeedback;int m_nValue;public:bool Connect(CString ip, int port);bool SendCmd(CString cmd);
};
#include "CTCPInterface.h"
#include <exception>
#include <string>
#include "../Utils/CCommon.h"CTCPInterface::CTCPInterface()
{m_bConnected = false;m_nTimeout = 200;m_nValue = -1;
}CTCPInterface::~CTCPInterface()
{
}bool CTCPInterface::Connect(CString ip, int port)
{bool b_Result = false;try{b_Result = m_Socket.Connect(ip, port);}catch (const std::exception&){}return b_Result;
}bool CTCPInterface::SendCmd(CString cmd)
{bool b_Result = false;try{memset(m_Socket.BufferData, 0, sizeof(m_Socket.BufferData));string tmp = cmd.GetBuffer(0);CCommon::ReplaceAll(tmp, " ", "");int len = tmp.length() / 2;BYTE* bytes = new BYTE[len];CCommon::HexStrToBytes(tmp, len, bytes);m_Socket.Send(bytes, len);Sleep(m_nTimeout);b_Result = true;CString str;str = CCommon::BytesToCString(bytes, len);OutputDebugString(str);}catch (const std::exception&){}return b_Result;
}

子类代码

#pragma once
#include "CClientSocket.h"
#include "CTCPInterface.h"
class __declspec(dllexport) CPLCService:public CTCPInterface
{
public:CPLCService();~CPLCService();public:bool Connect(CString ip, int port);bool SendCmd(CString cmd);
};
#include "CPLCService.h"
#include <exception>
#include <string>
#include "../Utils/CCommon.h"CPLCService::CPLCService()
{}CPLCService::~CPLCService()
{m_Socket.Close();
}bool CPLCService::Connect(CString ip, int port)
{return CTCPInterface::Connect(ip, port);
}bool CPLCService::SendCmd(CString cmd)
{return CTCPInterface::SendCmd(cmd);
}

第二种方法

在使用的地方定义基类的指针,指向new的子类,需要用子类时候,再将父类指针强转为子类的指针

c++ 子类对象调用父类的方法相关推荐

  1. 继承实现的原理、子类中调用父类的方法、封装

    一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...

  2. 【Kotlin】Kotlin 类的继承 三 ( super 关键字使用 | super@ 外部调用父类方法 | 子类选择性调用 父类 / 接口 方法 super )

    文章目录 I . 子类调用父类总结 II . 子类调用父类方法 ( super ) III . 子类内部类调用父类方法 ( super@ ) IV . 子类选择调用不同的 父类 / 接口方法 ( su ...

  3. Day19:继承实现的原理、子类中调用父类的方法、封装

    一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...

  4. qt 子类调用父类的函数_子类中调用父类的方法

    父类名 . __init__(self, ...) 可以将父类中的init中的属性重复调用,减少代码的重复 class Vehicle: def __init__(self, name, speed, ...

  5. 子类对象调用父类方法

    class Person(object): def init(self, name, age): self.name = name self.age = age def driver(self):pr ...

  6. 在子类中调用父类的方法super

    1.没有super之前,在子类里面需要父类里面的逻辑,但是我们是通过派生(自己定义了一个init,增加了一条line) class vehichle:#定义一个交通工具的类Country=" ...

  7. 安卓在子类中调用父类的方法

    非常抱歉,可能是我表述不够清楚.在实际开发中,调用 getParentActivity() 方法需要在子界面中获取到父界面的实例.可以通过以下几种方式来获取父界面实例: 在子界面创建时保存父界面实例 ...

  8. Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)

    Python 在子类中调用父类方法详解(单继承.多层继承.多重继承)   by:授客 QQ:1033553122   测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...

  9. java如何调用父类的实例对象_java子类调用父类的方法中包含子类重写的实例方法...

    java子类调用父类的方法中包含子类重写的实例方法 # 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了 # 先看代码: public class Common { public static ...

最新文章

  1. GifCam:最佳免费gif动画精细录制/剪辑软件
  2. 11无监听程序_腾讯开心鼠英语 小程序实践与总结
  3. DM8168芯片级资源
  4. 决策树缺失值python_【机器学习笔记之二】决策树的python实现
  5. 解决Uncaught (in promise) reason的问题
  6. SELinux系列(十二)安全上下文的修改和设置(chcon和restorecon命令)
  7. 如何安装64位Windows7
  8. c++ byte指针长度_valgrind诊断C/C++内存泄漏
  9. ModbusTCP助手调试工具Modbus主站调试工具ModbusMaster支持所有Modbus设备调试
  10. 电磁学matlab仿真实验报告,利用MATLAB语言处理电磁学实验.doc
  11. 基于Python和selenium 获取 公开的搜狐汽车 数据
  12. html表格 超链接无效,excel表格超链接失效的解决方法
  13. Python-玩转数据-XML 解析
  14. (lintcode)第4题 丑数II
  15. s_p_a_r_k_内核
  16. Foxmail管理多个电子邮箱
  17. 取消notepad++打开.bat文件
  18. 2019,塞翁失马,败走麦城
  19. 国庆中秋福利篇:视频资料免费大派送,总有你想要的那款
  20. 网狐棋牌手端无法进入登录页面

热门文章

  1. 从零到壹-API研发管理心得分享
  2. xapk格式安装包的介绍以及如何在安卓上安装xapk文件
  3. 隔行如隔山,几行代码教你简单爬取天天基金网基金排行
  4. 各种酱料名称大全_调料大全名称 日常调料有哪些
  5. LP38692MP-ADJ 德州TI 具有使能功能的 1A、10V、可调节低压降稳压器
  6. 安卓玩机搞机技巧综合资源------进入9008步骤 MTK端口 修改屏幕分辨率 如何刷写GSI镜像 等等【四】
  7. html新增后触发点击事件 (off和on的使用)
  8. 【Gale Shapley 婚姻稳定匹配算法实现】
  9. C语言编程实现魔方阵
  10. 小白日记18:kali渗透测试之缓冲区溢出实例(二)--Linux,穿越火线1.9.0