Возможно ли использовать один и тот же экземпляр из члена класса между разными классами?

#c #class

#c #класс

Вопрос:

Я хочу использовать члены из класса A, вызываемые из класса B, имеет ли это смысл, когда я фактически объявляю класс B внутри A?

в более крупном коде я сталкиваюсь с такой возможностью, и мне было интересно, возможно ли это или я могу использовать другие альтернативы/

Я попытался удалить A внутри B, но это разрывает, и разработчик не позволяет мне этого делать. (www onlinegdb com) (с использованием c )

 //main.cpp
#include <stdio.h>
#include "a.h"

class A objA;

int main()
{
   A::get_instance().funA();

    return 0;
}
  
 //a.h
#include <stdio.h>
#include "b.h"

class A
{
public:
    // Singleton instance
        static Aamp; get_instance()    //static memory allocation
        {
            static A instance;
            return instance;
        }

    A();
    ~A();
    void funA();
    void funA_two();

   //Member
   B obj_b;
};
  
 //a.cpp
#include "a.h"

A::A()
{ /*do nothing here*/}

A::~A()
{ /*do nothing here*/}

void A::funA()
{
    printf("Hello Class Arn");
    obj_b.funB();
}

void A::funA_two()
{
    printf("I want to be called from class Brn");
}
  
 //b.h
#include <stdio.h>

class B
{
public:
    // Singleton instance
        static Bamp; get_instance()    //static memory allocation
        {
            static B instance;
            return instance;
        }
    B();
    ~B();
    void funB();    
};
  
 //b.cpp
#include "b.h"
//#include "a.h"

B::B()
{ /*do nothing here*/}

B::~B()
{ /*do nothing here*/}

void B::funB()
{
    printf("Hello Class Brn");

    //From here. how can I call the same A instance to call funA_two()?
}

actually, I would like to do some like a function pointer as C, to pass the funA_two to funB
  

Комментарии:

1. Класс B должен иметь свойство, содержащее ссылку на родительский класс A.

2. Или передать A в качестве параметра в метод B., B::funB(Aamp; a)