我想创建一个非常通用的纯虚拟类 i_BIS_Data 将由唯一的 BIS_Data 类继承。
class i_BIS_Data
{
public:
i_BIS_Data(void) { }
virtual ~i_BIS_Data( void ) { }
virtual void setData(bis_data data) = 0;
};
我希望 i_BIS_Data 的所有孩子都定义 bis_data 结构,因为它们都会有所不同。我希望我的子类看起来类似于以下内容:
class BIS_0192_Aircraft_ID_Data : i_BIS_Data
{
public:
struct bis_data
{
UInt16 acid;
UInt16 parity;
};
void setData(bis_data data){ m_data.parity = data.parity;
m_data.acid = data.acid; }
}
当我尝试编译使用 BIS_0192_Aircraft_ID_Data 的类时,我收到以下错误:错误 C2061:语法错误:标识符“bis_data”。我相信这是因为我没有在父类中定义 bis_data 。
那么是否可以“重载”结构并允许多个子类定义 bis_data 是什么?