#include <iostream>
struct custom_wrapper
{
public:
custom_wrapper();
class custom_class_two;
class custom_class_one
{
private:
int number1;
public:
int getNumber1();
int accessSisterMethods(custom_class_two& obj) {
return obj.getNumber2();
}
};
class custom_class_two
{
private:
int number2;
public:
int getNumber2() {
return 42;
}
};
class custom_class_three
{
private:
int number3;
public:
int getNumber3();
};
};
int main()
{
custom_wrapper::custom_class_one obj1;
custom_wrapper::custom_class_two obj2;
std::cout << obj1.accessSisterMethods(obj2);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IGN1c3RvbV93cmFwcGVyCnsKcHVibGljOgogICAgY3VzdG9tX3dyYXBwZXIoKTsKICAgIAogICAgY2xhc3MgY3VzdG9tX2NsYXNzX3R3bzsKCiAgICBjbGFzcyBjdXN0b21fY2xhc3Nfb25lCiAgICB7CiAgICBwcml2YXRlOgogICAgICAgIGludCBudW1iZXIxOwogICAgcHVibGljOgogICAgICAgIGludCBnZXROdW1iZXIxKCk7CiAgICAgICAgaW50IGFjY2Vzc1Npc3Rlck1ldGhvZHMoY3VzdG9tX2NsYXNzX3R3byYgb2JqKSB7CiAgICAgICAgIHJldHVybiBvYmouZ2V0TnVtYmVyMigpOyAgIAogICAgICAgIH0KICAgIH07CgogICBjbGFzcyBjdXN0b21fY2xhc3NfdHdvCiAgICB7CiAgICBwcml2YXRlOgogICAgICAgIGludCBudW1iZXIyOwogICAgcHVibGljOgogICAgICAgIGludCBnZXROdW1iZXIyKCkgewogICAgICAgICAgICByZXR1cm4gNDI7CiAgICAgICAgfQogICAgfTsKCiAgICBjbGFzcyBjdXN0b21fY2xhc3NfdGhyZWUKICAgIHsKICAgIHByaXZhdGU6CiAgICAgICAgaW50IG51bWJlcjM7CiAgICBwdWJsaWM6CiAgICAgICAgaW50IGdldE51bWJlcjMoKTsKICAgIH07Cn07CgoKaW50IG1haW4oKQp7CiAgICBjdXN0b21fd3JhcHBlcjo6Y3VzdG9tX2NsYXNzX29uZSBvYmoxOwogICAgY3VzdG9tX3dyYXBwZXI6OmN1c3RvbV9jbGFzc190d28gb2JqMjsKICAgIAogICAgc3RkOjpjb3V0IDw8IG9iajEuYWNjZXNzU2lzdGVyTWV0aG9kcyhvYmoyKTsKfQ==