У меня есть следующий класс:C++ не удается создать экземпляр абстрактного класса
(заголовок)
struct udtMapping
{
int ByteStart;
int ByteCount;
int iHPUnitID;
};
class clsMapping : public CBaseStructure
{
private:
vector<udtMapping> m_content;
protected:
public:
vector<udtMapping> &Content();
void Add(int i1, int i2, int int3);
};
CPP файл:
vector<udtMapping> &clsMapping::Content()
{
return m_content;
}
void clsMapping::Add(int i1, int i2,int i3)
{
udtMapping n;
n.ByteStart = i1;
n.ByteCount = i2;
n.iHPUnitID = i3;
m_content.push_back(n);
return;
}
Теперь я хотел бы использовать этот класс, говоря
clsMapping nMapping;
Но компиляция r говорит мне: «Невозможно создать экземпляр из абстрактного класса».
Я не уверен, где я ошибся. Благодарим вас за помощь.
Edit: По запросу вот CBaseStructure
class CBaseStructure
{
protected:
virtual void ProcessTxtLine(string line) = 0;
virtual void AfterLoad();
virtual string CompactLine(string line);
public:
void Load(string file);
void Load2(string file);
void Load3(string file);
};
Существует чистая виртуальная функция-член 'CBaseStructure', которая' clsMapping' не является переопределяющей. Можете ли вы показать определение «CBaseStructure»? –