#include <QSharedPointer>
#include <QDebug>
// 定义接口类 IRfidCoder
class IRfidCoder
{
public:
virtual void encode() = 0;
virtual void decode() = 0;
virtual ~IRfidCoder() {}
};
// 使用 typedef 定义智能指针类型 IRfidCoderSharedPtr
typedef QSharedPointer<IRfidCoder> IRfidCoderSharedPtr;
// 实现一个具体的类 RfidCoder,继承自 IRfidCoder
class RfidCoder : public IRfidCoder
{
public:
void encode() override
{
qDebug() << "Encoding RFID data";
}
void decode() override
{
qDebug() << "Decoding RFID data";
}
};
int main()
{
// 使用智能指针管理 RfidCoder 对象
IRfidCoderSharedPtr coder = IRfidCoderSharedPtr(new RfidCoder);
// 调用接口方法
coder->encode();
coder->decode();
return 0;
}
使用Qt智能指针的简单例子
最新推荐文章于 2025-03-11 17:16:57 发布