All pastes #906299 Raw Edit

Mine

public text v1 · immutable
·published 2008-02-16 15:50 UTC
rendered paste body
#ifndef A_H_
#define A_H_

class A
{
public:
	A();
	virtual ~A();
};

#endif /*A_H_*/


#ifndef B_H_
#define B_H_

#include "A.h"
#include "C.h"

class B : public A
{
public:
	B();
	virtual ~B();
	
	void foo();
	
private:
	
	C* c;
};

#endif /*B_H_*/


#ifndef C_H_
#define C_H_

#include "A.h"

class B;

class C
{
public:
	C(A *a);
	virtual ~C();
	
private:
	
	B *b;
};

#endif /*C_H_*/


************** SOURCE FILES *******************

#include "A.h"

A::A()
{
}

A::~A()
{
}


#include "B.h"

B::B()
{
}

B::~B()
{
}


void B::foo() {
	
	
}


#include "C.h"

C::C(A *a)
{
	
	this->b = reinterpret_cast<B*>(a);
}

C::~C()
{
	
	b->foo();
}