Указатель на родительский класс
class A{
public: mc
myclass * mc;
A(mc*m){mc=m;};
class B{
public: B(){}
work(){
// здесь нужно работать с методами и объектами одного из экземпляров класса myclass через указатель, который передается классу A
}
}
}
Экземпляр класса A создается в классе myclass(для каждого myclass может быть несколько экземпляров), в то же время для каждого A может быть несколько созданных в нем экземпляров класса B. Внутри B нужно работать с методами и объектами класса A, в котором В был инициализирован, но в то же время, работать и с myclass, в котором был инициализирован A. То есть по иерархии.
IntelliSense предлагает сделать указатель mc статическим. Тогда да, действительно я могу работать в классе В с методами класса myclass, но это не подходит, так как у меня может быть несколько экземпляров myclass.
Единственным вариантом реализации такой задачи является передача this'а
внутри А при создании экземпляров класса B? Таким образом, каждый экземпляр B будет хранить указатель на текущий A, в котором он был создан