У меня действительно есть иерархия объектов (объектная модель) в древовидном формате, где корневой класс будет иметь 2 дочерних объекта, а эти 2 дочерних объекта снова будут иметь другие дочерние объекты. Теперь мне нужно реализовать утилиту, чтобы я мог обойти все дерево и получить свойства объекта. Помимо этого я должен иметь возможность добавлять / удалять объекты в дереве, поэтому в основном я ищу здесь операции CRUD (создание, получение, обновление, удаление).
ниже приведена базовая реализация кода с простой иерархией, но при таком подходе я не могу выполнить операцию CRUD, так как считаю, что объект должен храниться в формате древовидной структуры, чтобы на объектной модели «на лету» можно было изменить любое свойство внутри иерархии. установить / получить в объекте. Кто-нибудь может предложить лучший подход для того же, так что значения объекта могут быть сохранены в файле.
Device
|
sensor
|
------------------------
| | |
dlidar stereo camera GPS
код:
#include <iostream>
using namespace std;
class ThreedLidar
{
bool m_alarm;
public:
//set the properties
void set_alarm(bool set_val)
{
m_alarm=set_val;
}
//get the properties
bool get_alarm()
{
return m_alarm;
}
};
struct Sensor
{
ThreedLidar dlidar;
};
struct Device
{
Sensor sensor;
};
int main() {
// your code goes here
Device device1;
device1.sensor.dlidar.set_alarm(1);
return 0;
}
Задача ещё не решена.
Других решений пока нет …