当前位置: 首页 > wzjs >正文

怎么开发个人网站excel网站链接怎么做批量

怎么开发个人网站,excel网站链接怎么做批量,直接在原备案号下增加新网站,网易做相册的网站1. 什么是虚函数? 虚函数(virtual)是C里实现“多态”的关键机制。 在基类中声明虚函数,在子类中可以**覆盖(override)**它们。通过基类指针/引用操作时,自动调用实际对象(子类&…

1. 什么是虚函数?

虚函数(virtual)是C++里实现“多态”的关键机制。

  • 在基类中声明虚函数,在子类中可以**覆盖(override)**它们。
  • 通过基类指针/引用操作时,自动调用实际对象(子类)的实现

例如:

class TComProtocolBase {
public:virtual bool SetParam(int addr, int value) = 0; // 纯虚函数virtual void StartMonitor() = 0;// ...
};
  • 这是一个抽象接口/基类(不能直接new出来,只能当指针/引用用)。
  • 子类继承时必须实现这些函数。

2. 这样设计有什么用?

(1)面向接口编程,解耦各层逻辑

  • 上层代码可以依赖TComProtocolBase接口,而不关心具体用的哪个协议(比如Modbus、CAN、自定义协议等)。
  • 后续可以新增不同的协议实现,只需要继承基类,不用改动上层代码

(2)多协议/多硬件扩展容易

  • 比如设备A用Modbus,设备B用自定义协议,设备C用CAN。
  • 只要写不同的子类,分别实现这些虚函数,上层只用一套调用方式,大大增强可维护性和可移植性。

(3)便于单元测试和Mock

  • 写测试时,可以很方便写一个FakeProtocol继承基类做“假装通信”,不用真连硬件。

(4)团队分工更明确

  • 通信协议开发和业务开发可以分开,彼此只需遵守接口约定,降低沟通成本。

3. 举个例子:

// 基类:通信协议的“接口标准”
class TComProtocolBase {
public:virtual bool SetParam(int addr, int value) = 0;virtual void StartMonitor() = 0;// ... 还有其它命令接口
};// 子类1:实际实现一种协议
class TComProtocolV1 : public TComProtocolBase {
public:bool SetParam(int addr, int value) override {// 协议1的实现}void StartMonitor() override { /* ... */ }
};// 子类2:实现另一种协议
class TComProtocolV2 : public TComProtocolBase {
public:bool SetParam(int addr, int value) override {// 协议2的实现}void StartMonitor() override { /* ... */ }
};

使用时:

TComProtocolBase* protocol = new TComProtocolV1();
protocol->SetParam(0x100, 42);  // 实际调用的是V1的实现delete protocol;

后续切换成V2协议实现,只需替换new对象的类型即可,调用方式不用变。


4. 为什么不是直接写死?

  • 如果直接写死协议细节,后续想支持多协议、多硬件,需要全改一遍业务层,非常痛苦。
  • 用虚函数(接口/抽象基类),可以让业务层面向抽象而不是实现,极大增强代码的灵活性。

5. 这也是现代C++、C#、Java等主流语言面向对象的精髓

  • 编程面向接口,而不是面向实现
  • 易于扩展,易于维护,支持插件化和多协议共存。

小结

“基类定义虚函数接口,子类实现具体协议,业务层只需依赖接口即可;后续新增/切换协议无需大改动,维护和扩展都很方便。”


文章转载自:

http://G3BULzSE.phwmj.cn
http://v2DBpLaO.phwmj.cn
http://6UvpDOhf.phwmj.cn
http://CzMVfwp4.phwmj.cn
http://vcIg92lh.phwmj.cn
http://4VrlszrJ.phwmj.cn
http://90DJLFYJ.phwmj.cn
http://KYvu2Co6.phwmj.cn
http://IwCHicmy.phwmj.cn
http://3WGnFp76.phwmj.cn
http://JgyXkzRs.phwmj.cn
http://9yPSO2Xd.phwmj.cn
http://Cf3T6mbE.phwmj.cn
http://AYNaAMnR.phwmj.cn
http://XISJrxDW.phwmj.cn
http://yVaoMIp0.phwmj.cn
http://sevsUI3N.phwmj.cn
http://rWrhZAJO.phwmj.cn
http://89Ihd41p.phwmj.cn
http://VR4rOoyr.phwmj.cn
http://hl29otaw.phwmj.cn
http://kLtUhkMT.phwmj.cn
http://layd61bm.phwmj.cn
http://YlRpEQW7.phwmj.cn
http://MbkQ8oqt.phwmj.cn
http://ZphDqIjU.phwmj.cn
http://AqBIBujt.phwmj.cn
http://yRx17EzD.phwmj.cn
http://BHYr6mgp.phwmj.cn
http://RnkuaOY6.phwmj.cn
http://www.dtcms.com/wzjs/619174.html

相关文章:

  • 网站模块建设极验验证+wordpress
  • 河南平顶山网站建设与管理专业建站公司专业团队
  • 株洲网站的建设做仿牌网站空间
  • php做的网站怎么上传关系网站优化公司
  • 网站在哪做建筑人才网一砖一瓦
  • 京东云服务器怎么做网站做网站第一
  • 电商视觉设计网站初三毕业适合女生学的专业
  • 随便编一个公司网站天猫官网入口
  • 会员制网站建设国外做名片网站
  • 陕西网站维护豪圣建设项目管理网站
  • 做网站多长时间有心学做网站
  • 做游戏都需要什么网站淘宝seo培训
  • 建设厅企业锁在哪个网站登录公司网站建设西安
  • 爱站网seo工具查询网络营销推广服务商
  • 做网站+利润网站建设公司营销方案
  • 哪个公司搭建网站wordpress更改主题名
  • 网站空间购买哪个好企业建站 平台
  • 学院网站建设的特色wordpress 栏目 伪静态
  • 网站建设学习视频网站免费软件
  • 智能网站备案个人网站 淘宝客
  • 哪些行业网站推广做的多制作学校网站的教程
  • 怎么在社保网站上做员工减少石家庄网站备案
  • 电子商务购物网站建设实验报告东莞宣传网站
  • 服务网站建设企业前端 wordpress
  • 游戏网站规划方案做谷歌推广一定要网站吗
  • 外贸建站推广多少钱北京房产网最新楼盘
  • asp网站网站建设录哪个科目
  • 网站分享链接怎么做的平面设计主要学什么哪些软件
  • 个人注册的网站可以做公司宣传用吗南宁建设厅网站
  • 标准网站是哪个网页设计的技术有哪些