Использование ссылок для доступа к объектам класса C ++

Это меня поставило в тупик. То, что я пытаюсь сделать, - это получить ссылочную переменную в классе-обертке, чтобы она указывала на объект структуры в классе, который она оборачивает, так что любые установки переменных в структуре из других классов, которые используют класс-обертку, фактически устанавливаются в обернутый класс не класс обертки. Для этого я попытался просто создать ссылку в классе обертки на структуру в обернутом классе, например

class CClassWrap
{
    CClass::plot_type& PlotArgs;  
}  

а затем инициализировать PlotArgs

CClassWrap::InitWrap( CClass AppIfx )
{
    PlotArgs = AppIfx.PlotArgs;
}

Я просто хочу, чтобы PlotArgs указывал на упакованный класс 'PlotArgs, чтобы при доступе к PlotArgs из

class StudiesBase:public CClassWrap
{
   //12 should show up in CClass because PlotArgs in CClassWrap points to the PlotArgs on CClass.
   PlotArgs.value = 12;

 }

12 отображается в версии PlotArgs с классами оберток. Для этого я попытался установить ссылку, определенную в файле .h, следующим образом

#include "CClass.h"

class CClassWrap
{
 //PlotArgs is a struct with a few vars in it (int, long, etc.) that exists in CClass
 CClass::plot_type& PlotArgs;  
}

CClassWrap наследуется в другом классе, назовите его StudiesBase

class StudiesBase:: public CClassWrap
{
     etc...
}

Когда это скомпилировано, выдается сообщение о том, что для CClassWrap не существует ctor по умолчанию. Поэтому я добавляю Ctor

такой, что CClassWrap теперь выглядит

class CClassWrap
{
public:
      CClassWrap();
public:
     //PlotArgs is a struct with a few vars in it (int, long, etc.) that exists in CClass
     CClass::plot_type& PlotArgs;  
}

Это приводит к ошибке C2758 о том, что PlotArgs не инициализируется.

Так что в ctor для ClassWrap я пытаюсь его инициализировать.

PlotArgs = AppIfx.PlotArgs;

где AppIfx устанавливается во время выполнения как указатель на объект CClass. Компилятору это не нравится, либо с ошибкой C2758 переменная должна быть инициализирована в базе конструкторов / списке инициализаторов элементов и т. Д ...

Если окажется, что я пытаюсь сделать что-то, что мне совершенно ясно, как это сделать, то это определенно так! Любая помощь приветствуется.

Ответы на вопрос(1)

Ваш ответ на вопрос