我创建了一个名为“SensorNode”的类,每个 SensorNode 都有一个传感器链接列表。SensorNode 的一个数据成员是一个名为 mySensors 的 SensorBlock(链表)指针。mySensors 指向它所在的传感器节点所拥有的传感器链表中的第一个传感器。这是 SensorNode 的类声明:
class SensorNode {
char* NodeName;
int NodeID;
LOCATION Node1;
float batt;
int func;
SensorBlock *mySensors;
public:
SensorNode(char *n, float x, float y, float z, int i, float ah);
void print();
void setOK(int o);
int getOK();
void setLOC(float longi, float lat, float h);
int amIThisSensorNode(char *n);
void addSensorToNode(sensor *s);
};
这是 SensorBlock 的类声明:
class SensorBlock {
friend class SensorNode;
SensorBlock * LLelement;
sensor * SensEl;
};
在 addSensorToNode 函数中,如何将指向的传感器添加到链表中。基本上,我所拥有的内容如下,我试图弄清楚“else”语句中的内容。我查看了教程,但它们用于创建新对象并添加它,这是用于添加指向对象的指针。
void SensorNode::addSensorToNode(sensor *s) {
if(mySensors == '\0')
{
mySensors->SensEl = s;
}
else{
//maybe something like this???
// mySensors->SensEl =s;
// mySensors->LLelement++;
}
}