Wskaźniki a klasy (c++)

0

Witajcie,

problem jest następujący. Mam do napisania krótki programik (a w zasadzie same klasy i operacje), w którym będzie można tworzyć hierarchiczną strukturę zatrudnienia, czyt. pracowniki, który ma pod sobą innych pracowników, którzy również mogą mieć pod sobą pracowników itd.

Stworzyłem do tego dwie klasy Employee i EmpList (ta będzie przechowywać obiekty klasy Employee) . Klasy są zadeklarowane w dwóch odrębnych plikach nagłówkowych. Problem jest następujący. Jeżeli w klasie EmpList dodaje do składowych wskaźniki na obiekt klasy Employee, to kompilator nie widzi problemu, natomiast jeżeli chcę zrobić odwrotnie to dostaje błąd:

1>c:\users\robert\documents\visual studio 2010\projects\struktury2\struktury2\employee.h(7): error C2143: syntax error : missing ';' before '*'
1>c:\users\robert\documents\visual studio 2010\projects\struktury2\struktury2\employee.h(7): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\robert\documents\visual studio 2010\projects\struktury2\struktury2\employee.h(7): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 

Tak wyglądają obie klasy:

class CEmployee
{
protected:
	int empID;
	CEmployee* m_prevEmp;
	CEmployee* m_nextEmp;
	CEmpList* Lista;
public:
	CEmployee();
	~CEmployee();
	void Draw();
	friend class CEmpList;
};

class CEmpList
{
protected:
	CEmployee* m_pHead;
	CEmployee* m_pTail;
public:
	CEmpList();
	~CEmpList();
	virtual void Draw();
	void AddEmployee(CEmployee* pEmp);
	bool RemEmployee();
	friend class CEmployee;
};
 

Z góry dzięki za pomoc :)

0

dodaj class CEmpList; na górze.

0

przed klasą CEmployee dodaj deklarację zapowiadającą klasę CEmpList:

class CEmpList;

//zostałem wyprzedzony :p

0

Dzięki wielkie! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1