一般来说,我是使用 C++ 和面向对象编程的新手。我的问题是如何将多个对象与多个子类对象链接起来,每个子类对象都有多个要跟踪的数据变量?
基本上我有对象类型“接收者”。每个“接收者”都有特定的变量来存储传入数据流。然而,每个“接收者”有 32 个可能的“通道”。每个通道都有更多的数据变量要存储。
假设我希望程序最多有 100 个接收器。构建这个的最佳方法是什么?我一直这样想:
class BaseStation{
public:
string baseID;
int numberSat;
FP64 timeUTC;
INT16U week;
FP64 GPStoUTCoffset;
FP64 GLOtoUTCoffset;
INT8S recieverTimeOffset;
FP64 posX; //geocentric coordinates in meters
FP64 posY;
FP64 posZ;
FP64 rmsX; //expected root mean square error of coordinates
FP64 rmsY;
FP64 rmsZ;
};
class Channels : public BaseStation
{
public:
INT8U systemID;
INT8U satID;
INT8U GlonassNumber;
INT8U SNR; //signal to noise ratio
FP64 carrierPhase; //cylces
FP64 psuedoRange; //milliseconds
FP64 doppler; //HZ cycles
FP64 tropDelay; //meters
FP64 ionoDelay; //meters
};
然后创建对象,如:
Channels base[100];
Channels channel[100][32];
除了确保 base 和 channel 的数组指针相同之外,还有没有办法将 32 个通道绑定到单个基础对象?