是否可以声明一个返回命名空间内任何类型的虚函数?[关闭]

Is it possible to declare a virtual function that returns any type within a namespace? [closed]

提问人:dazckel 提问时间:11/16/2023 更新时间:11/16/2023 访问量:54

问:


想改进这个问题吗?更新问题,以便可以通过编辑这篇文章用事实和引文来回答。

2天前关闭。

目前,我正在编写一个抽象类,它实现了MQTT协议的一般行为。所以我实现了这样的方法:、、......但是,我想声明如下的虚拟函数:openConnectioncloseConnectionsendHearBeat

  • virtual void sendPackage(MqttMSG msg)

  • virtual MqttMSG handlePackage()

其中是命名空间。MqttMSG

这样做的目的是获得一个通用的 mqtt 类,从中创建特定于项目的 MQTT 类,而不是重写我提到的通用方法。

在命名空间 MQTT 中,我定义了如下结构:

struct ProjectA_MSG{
   int prop1,
   int prop2...
}
struct ProjectB_MSG{
int propA,
int propB...
}
...

因此,如果将来我需要通过MQTT连接设备,我所要做的就是在MqttMsg命名空间中定义一些结构并实现和。sendPackagehandlePackage

问题。

  • 我可以用命名空间获得这种行为吗?
  • 尝试使用模板(或其他方式)会是一个更好的主意吗?
  • 这被认为是一种好的做法吗?

提前致谢。

C++ 结构 命名空间 虚拟函数

评论


答: 暂无答案