#include <string>
#include <iostream>

using namespace std;

class A
{
public: 
    A() : test{10} {}
protected:
    int test;
};

class C;

class B : public A
{
private:
    C *c;

public:
    B();
    int gettest() { return test;}
};

class C
{
public:
    C(B *b) {
        cout << b->gettest();
    }
};

B::B() {
    c = new C(this);
}  

int main()
{
    B();
}
