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