提问人:dazckel 提问时间:11/16/2023 更新时间:11/16/2023 访问量:54
是否可以声明一个返回命名空间内任何类型的虚函数?[关闭]
Is it possible to declare a virtual function that returns any type within a namespace? [closed]
问:
目前,我正在编写一个抽象类,它实现了MQTT协议的一般行为。所以我实现了这样的方法:、、......但是,我想声明如下的虚拟函数:openConnection
closeConnection
sendHearBeat
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命名空间中定义一些结构并实现和。sendPackage
handlePackage
问题。
- 我可以用命名空间获得这种行为吗?
- 尝试使用模板(或其他方式)会是一个更好的主意吗?
- 这被认为是一种好的做法吗?
提前致谢。
答: 暂无答案
评论