#include <iostream>
#include <string>
#include "defs.h"
int main()
{
a a1;
b b1;
b1.f(&a1);
}
#ifndef DEFS_SERVER_H
#define DEFS_SERVER_H
#include "a.h"
#include "b.h"
#endif
#ifndef A_H
#define A_H
#include "b.h"
class a
{
public:
friend void b::f (a * pointer);
protected:
int i = 6;
b* b_pointer = nullptr;
};
#endif
#ifndef B_H
#define B_H
#include "a.h"
class b
{
public:
void f (a * pointer);
};
#endif
#include "b.h"
void
b::f (a * pointer)
{
std::cout << pointer->a::i << std::endl;
}