我对在 C++ 中使用类有点陌生,在创建一个将实例化我已经创建的一些对象的类时,我有点困惑。
对于我的示例,我将尽可能保持简单。我从一个名为 DigiPlat 的类开始,这是一个板上有多个开关、旋钮和脚踏开关的板。我尝试添加的第一个类是 Footswitch 类。 FootSwitch hpp 和 cpp 如下所示。
脚踏开关.cpp
class FootSwitch {
public:
FootSwitch(uint8_t pin_value, FSType fs_type);
void init_FootSwitch();
void update_FootSwitch();
// Add your class members here
FSType switch_type;
uint8_t pin;
uint8_t ButtonState;
uint8_t lastButtonState;
unsigned long lastDeboundeTime;
unsigned long debounceDelay = 50;
};
和
脚踏开关.cpp
FootSwitch::FootSwitch(uint8_t pin_value, FSType fs_type) {
// Initialize any variables or objects here
switch_type = fs_type;
pin = pin_value;
};
现在在 DigiPlat 类中我已经创建了该类
DigiPlat.hpp
#include "FootSwitch.hpp"
class DigiPlat {
public:
// Constructor
DigiPlat();
//DigiPlat Variables
bool State;
FootSwitch FootSwitch1;
};
cpp 文件看起来像
DigiPlat.cpp
DigiPlat::DigiPlat(){
FootSwitch FootSwitch1(FS1, NC);
};
但是它不会像这样编译。似乎无法调用 FootSwitch 构造函数。我很好奇如何正确初始化 FootSwitch1。很快就会有另一个脚踏开关和多个其他旋钮和开关,所以请记住这一点。
我无法制定良好的提示来找到可以回答这个问题的类似问题。感谢您抽出宝贵时间回答问题。干杯。
有一个语法:
DigiPlat::DigiPlat()
: FootSwitch1(FS1, NC)
{}
有些人将冒号移到第一行的末尾。 我喜欢这种风格,因为以逗号开头可以轻松添加新行。