codice:
//A.h
#ifndef A_H_INCLUDED
#define A_H_INCLUDED
class A
{
//Un valore inutile
int dummy;
public:
A(int Dummy);
inline int GetDummy()
{
return dummy;
};
};
#endif
codice:
//A.cpp
#include "A.h"
A::A(int Dummy)
{
dummy=Dummy;
}
codice:
//B.h
#ifndef
#include "A.h"
#ifndef B_H_INCLUDED
#define B_H_INCLUDED
class B
{
A oggettoA;
public:
B(int Dummy) : oggettoA(Dummy) //già per fare questo è necessario che il compilatore sappia che c'è un costruttore di A che accetta un int
{
//...
};
inline int GetValue()
{
return oggettoA.GetDummy()*10; //per fare questo è necessario che il compilatore conosca A::GetValue().
};
};
#endif