Class 对象中的对象-Arduino

Class 对象中的对象-Arduino,class,object,arduino,nested,Class,Object,Arduino,Nested,我正在为IIR滤波器设计一个库。长话短说,一个顺序超过两个的过滤器可以分解为多个顺序为两个的“部分”。即4阶滤波器=2 x二阶滤波器 我想为单级二阶过滤器(已经编写)创建一个类。然后我想编写另一个类,它能够将完整的过滤器分解为多个二阶过滤器 …还在跟踪吗 这是我的代码:我得到一个错误,说“singleFilter未在此范围内声明” IIR.h: IIR.cpp Arduino.ino: #包括 主滤波器; 无效设置() { filer.getHelloWorld(); } void循环() {

我正在为IIR滤波器设计一个库。长话短说,一个顺序超过两个的过滤器可以分解为多个顺序为两个的“部分”。即4阶滤波器=2 x二阶滤波器

我想为单级二阶过滤器(已经编写)创建一个类。然后我想编写另一个类,它能够将完整的过滤器分解为多个二阶过滤器

…还在跟踪吗

这是我的代码:我得到一个错误,说“singleFilter未在此范围内声明”

IIR.h: IIR.cpp Arduino.ino:
#包括
主滤波器;
无效设置()
{
filer.getHelloWorld();
}
void循环()
{
}
由于变量singleFilter是在主构造函数中声明的,因此它被限制在函数范围内,不能在构造函数之外引用

将singleFilter移动到主类声明中,为其指定类作用域,然后可以在所有主类方法中引用它

class master
{
    slave singleFilter;
public:
    master();
    int unsigned getHelloWorld();
};
#include "IIR.h"

master::master()
{
    slave singleFilter;
}

int unsigned master::getHelloWorld()
{
    return singleFilter.hellowWorld();
}

slave::slave()
{

}

int unsigned slave::helloWorld()
{
    return 10;
}
#include <IIR.h>

master filter;

void setup()
{
    filer.getHelloWorld();
}

void loop()
{

}
class master
{
    slave singleFilter;
public:
    master();
    int unsigned getHelloWorld();
};