#include <iostream>
using namespace std;

class Base
{
protected:
    int x{ 0 };
};

class DerivedClass1 : public Base
{
	void test() {
		std::cout<<x<<std::endl; 
	}
private:
	using Base::x; 
	
};

class DerivedClass2 : public DerivedClass1
{
public:
    int getX() const
    {
        return x;
    }
};

int main()
{
    DerivedClass2 d2{};
    int x{ d2.getX() };
    return 0;
}

