1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#pragma once class ICamera; class IProtocol { public: virtual ~IProtocol() = default; }; class ProtocolBase : public IProtocol { public: explicit ProtocolBase(ICamera *camera); ~ProtocolBase() override = default; protected: ICamera *m_camera{nullptr}; };