在Arduino和C++中,可以使用静态变量(static variables)来在变量和类变量之间共享相同的值。静态变量是类的成员,它们在类的所有对象之间共享相同的值。以下是一个示例代码:
#include
class SharedVariable {
private:
static int sharedValue; // 声明一个静态变量
public:
void setValue(int value) {
sharedValue = value; // 设置静态变量的值
}
int getValue() {
return sharedValue; // 获取静态变量的值
}
};
int SharedVariable::sharedValue = 0; // 初始化静态变量
void setup() {
Serial.begin(9600);
SharedVariable var1, var2;
var1.setValue(10);
Serial.print("var1 value: ");
Serial.println(var1.getValue());
Serial.print("var2 value: ");
Serial.println(var2.getValue()); // var2也可以访问到相同的值
}
void loop() {
// 程序循环
}
在上面的示例代码中,我们创建了一个名为SharedVariable的类,并在该类中声明了一个静态变量sharedValue。通过setValue()函数设置静态变量的值,并通过getValue()函数获取静态变量的值。
在setup()函数中,我们创建了两个SharedVariable对象var1和var2,并分别设置了var1的值为10。然后,我们通过Serial.println()函数将var1和var2的值打印到串口监视器中。你会发现,var1和var2都具有相同的值,这是因为它们共享静态变量sharedValue的值。
通过使用静态变量,你可以在多个对象之间共享相同的值,从而实现变量和类变量的共享。