如何包含一个包含 class 函数的单独文件

how to include a separate file containing functions for a class

所以我正在为与 arduino 一起使用的硬件制作一个库。在 class 里面有一些需要包含的硬件特定代码。为了提高可读性,我想将硬件特定功能移动到另一个文件

//.h
class myClass(){

public:
    myClass();
    void controlGPIO();
    
};


//.cpp
myClass::myClass(){
   controlGPIO();
}

#ifdef HARDWAREA
#include "deviceA_hal.h"
#endif

#ifdef HARDWAREB
#include "deviceB_hal.h"
#endif


//deviceA_hal.h     HardwareA functions
#include <deviceA_specific_Library>
void myClass::controlGPIO(){
   // some code unique to hardwareA
}


//deviceB_hal.h     HardwareB functions
#include <deviceB_specific_Library>
void myClass::controlGPIO(){
   // some code unique to hardwareB
}

这可能吗?我这样做正确吗?

这将使添加更具体的硬件变得更容易和更清晰。有没有更好的方法>?

常见的是用

做一个.cpp
#if defined(HARDWAREA)
#include "deviceA_hal.h"
#elif defined(HARDWAREB)
#include "deviceB_hal.h"
#endif

void myClass::controlGPIO(){
#if defined(HARDWAREA)
   // some code unique to hardwareA
#elif defined(HARDWAREB)
   // some code unique to hardwareB
#endif
}

这比两个单独的文件更易于维护