#ifndef _A_H_
#define _A_H_
class A {
public:
int a;
int b;
A();
};
#endif
#include "A.h"
#include <iostream>
using namespace std;
A::A():a(1),b(2) {
cout << "a = " << a << "b= " << b << endl;
}
#ifndef _B_H_
#define _B_H_
#include "A.h"
class B:public A {
public:
B();
int c;
int d;
};
#endif
#include "B.h"
#include "A.h"
#include <iostream>
using namespace std;
B::B() :c(3), d(4) {
cout << "c= " << c << "d= " << d << endl;
}
#include "A.h"
#include "B.h"
int main() {
B b1;
A *a1 = &b1;
a1->a;
a1->b;
b1.a;
b1.a;
b1.c;
b1.d;
return 0;
}