我正在进行一个微处理器(Arduino)项目。我的库Foo
继承自现有库Basic
。后来,我将Basic
的功能扩展到另一个类Advanced
中。但是,Advanced
会更加耗费硬件资源,使得已经制作的演示程序无法使用。
我的想法如下:
class Foo:
#ifndef USE_BASIC
public Advanced
#else
public Basic
#endif
{
...
}
在我的演示代码中添加#define USE_BASIC
:
#define USE_BASIC
#include <Foo.h>
然而,Foo并没有从Basic继承。我在这里做错了吗?还是有其他解决这个问题的方法?
USE_BASIC
的例子。编译器在cpp上运行,因此预处理器首先看到定义,然后再包含头文件(在楼主的例子中)。 - dyp