Videregiv reference af klasse til constructor
Hey.Jeg har 3 cpp filer; driver, class_A og class_B.
Menigen er at driver opretter en instans af class_A, som så opretter en instans af class_B.
Jeg vil så gerne kunne kalde en metode i class_A fra class_B, og det er så der problemet opstår.
Ved nedenstående kode får jeg følgende fejl:
class_B(class_A *ca): Type name expected
class_B(class_A *ca): Declaration missing ;
class_B's constructor: ) expected
class_B's constructor: Declaration terminated incorrectly
class_B's constructor: Unexpected }
class_B's constructor: Unexpected }
class_A : Cannot cast from ' class_A * const' to ' class_B' in function class_A:: class_A (bool)
Kan ikke lige se fejlen i den, men det må være noget med includes, for har lignende kode bare i én fil og det fungere udmærket. Hvis jeg tilføjer #include ”class_a.cpp” i class_B får jeg følgende fejl:
Multiple declaration for ‘class_a’
Earlier declaration of ' class_a’
På forhånd tak.
Scorp-D
------------ driver.cpp --------------
#include "class_A.cpp"
int main()
{
new class_A();
}
------------ class_A.cpp --------------
#include "class_B.cpp”
using namespace std;
class class_A
{
public:
bool Shutdown;
class_A(bool inShutdown = false) :Shutdown(inShutdown)
{
class_B cb = class_B(this);
}
};
------------ class_B.cpp --------------
using namespace std;
class class_B
{
public:
class_A *ca;
class_B(const class_A & inCA) : ca (inCA){}
};