c++ - 我想继承 SPIFFS 类来为我的方法扩展它。可能吗?
问题描述
我有使用 Arduino 框架的 ESP32 项目,但我有问题。我想创建我的类,它将继承自 SPIFFS 类。只想添加 readConfig 方法并在我的项目中使用它。
可能吗?
我正在使用类似的东西。SSDReader.h
#pragma once
#include <Arduino.h>
#include <SPIFFS.h>
#include <FS.h>
using namespace fs;
class SSDReader: public SPIFFSFS {
public:
void getConfig();
};
extern SSDReader ssd;
SSDReader.cpp
#include "SSDReader.h"
void SSDReader::getConfig() {
}
主文件
#pragma once
#include <Arduino.h>
#include "include/SSDReader.h“
void setup() {
// Init SSDReader
if (!ssd.begin()) {
}
}
void loop() {
}
它可以编译,但 ssd 是:
.pioenvs/esp32dev/src/main.cpp.o:(.literal._Z5setupv+0x10): undefined reference to `ssd'
collect2: error: ld returned 1 exit status
*** [.pioenvs/esp32dev/firmware.elf] Error 1
谢谢, 问候, Petr Sourek
解决方案
感谢 KIIV,我能够像这样编辑我的代码。
SSDReader.h
#pragma once
#include <Arduino.h>
#include <SPIFFS.h>
using namespace fs;
class SSDReader : public SPIFFSFS {
public:
SSDReader() : SPIFFSFS{ SPIFFS } { };
void getConfig();
protected:
};
SSDReader.cpp
#include "SSDReader.h"
//SSDReader::SSDReader() {}
void SSDReader::getConfig() {
}
主文件
#include <Arduino.h>
#include "include/SSDReader.h"
//#include "include/Display.h"
// Variables
SSDReader ssd;
bool enableSerial = false;
//Display display;
void setup() {
if (enableSerial)
Serial.println(9600);
// Init SSDReader
if (!ssd.begin()) {
}
}
void loop() {
}
它有效。非常感谢。我要更多地自学。
推荐阅读
- python - 如何使用正则表达式选择两个最接近的相同单词的中间范围?
- http - Http请求头和请求的文件名
- node.js - 使用 Axios Vue.js 和 Node.js 从 MongoDB 按 id 获取数据
- python - 通过 tensorflow 将归一化重现到 keras
- android - NullPointerException java.util.Date.getTime 空对象引用
- java - 如何在 Java 15 及以后继续使用 Javascript
- javascript - 如何使用变量键名和 SubModule 作为数组迭代 JSON 对象
- sharepoint - SharePoint Online 列表列/字段级权限
- c++ - QT QML 文本属性更新
- java - 以switch case形式输入名称和标记并打印的双向链表