c++ 子类对象调用父类的方法
第一种方式就是子类重写父类的方法,在子类中定义和父类同样的方法,方法体中调用父类的方法
父类代码
#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.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...
- 【Kotlin】Kotlin 类的继承 三 ( super 关键字使用 | super@ 外部调用父类方法 | 子类选择性调用 父类 / 接口 方法 super )
文章目录 I . 子类调用父类总结 II . 子类调用父类方法 ( super ) III . 子类内部类调用父类方法 ( super@ ) IV . 子类选择调用不同的 父类 / 接口方法 ( su ...
- Day19:继承实现的原理、子类中调用父类的方法、封装
一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...
- qt 子类调用父类的函数_子类中调用父类的方法
父类名 . __init__(self, ...) 可以将父类中的init中的属性重复调用,减少代码的重复 class Vehicle: def __init__(self, name, speed, ...
- 子类对象调用父类方法
class Person(object): def init(self, name, age): self.name = name self.age = age def driver(self):pr ...
- 在子类中调用父类的方法super
1.没有super之前,在子类里面需要父类里面的逻辑,但是我们是通过派生(自己定义了一个init,增加了一条line) class vehichle:#定义一个交通工具的类Country=" ...
- 安卓在子类中调用父类的方法
非常抱歉,可能是我表述不够清楚.在实际开发中,调用 getParentActivity() 方法需要在子界面中获取到父界面的实例.可以通过以下几种方式来获取父界面实例: 在子界面创建时保存父界面实例 ...
- Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)
Python 在子类中调用父类方法详解(单继承.多层继承.多重继承) by:授客 QQ:1033553122 测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...
- java如何调用父类的实例对象_java子类调用父类的方法中包含子类重写的实例方法...
java子类调用父类的方法中包含子类重写的实例方法 # 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了 # 先看代码: public class Common { public static ...
最新文章
- GifCam:最佳免费gif动画精细录制/剪辑软件
- 11无监听程序_腾讯开心鼠英语 小程序实践与总结
- DM8168芯片级资源
- 决策树缺失值python_【机器学习笔记之二】决策树的python实现
- 解决Uncaught (in promise) reason的问题
- SELinux系列(十二)安全上下文的修改和设置(chcon和restorecon命令)
- 如何安装64位Windows7
- c++ byte指针长度_valgrind诊断C/C++内存泄漏
- ModbusTCP助手调试工具Modbus主站调试工具ModbusMaster支持所有Modbus设备调试
- 电磁学matlab仿真实验报告,利用MATLAB语言处理电磁学实验.doc
- 基于Python和selenium 获取 公开的搜狐汽车 数据
- html表格 超链接无效,excel表格超链接失效的解决方法
- Python-玩转数据-XML 解析
- (lintcode)第4题 丑数II
- s_p_a_r_k_内核
- Foxmail管理多个电子邮箱
- 取消notepad++打开.bat文件
- 2019,塞翁失马,败走麦城
- 国庆中秋福利篇:视频资料免费大派送,总有你想要的那款
- 网狐棋牌手端无法进入登录页面
热门文章
- 从零到壹-API研发管理心得分享
- xapk格式安装包的介绍以及如何在安卓上安装xapk文件
- 隔行如隔山,几行代码教你简单爬取天天基金网基金排行
- 各种酱料名称大全_调料大全名称 日常调料有哪些
- LP38692MP-ADJ 德州TI 具有使能功能的 1A、10V、可调节低压降稳压器
- 安卓玩机搞机技巧综合资源------进入9008步骤 MTK端口 修改屏幕分辨率 如何刷写GSI镜像 等等【四】
- html新增后触发点击事件 (off和on的使用)
- 【Gale Shapley 婚姻稳定匹配算法实现】
- C语言编程实现魔方阵
- 小白日记18:kali渗透测试之缓冲区溢出实例(二)--Linux,穿越火线1.9.0