Gå til innhold

Class problem plz?


Anbefalte innlegg

Jeg driver og eksprimenterer litt her. men får noen feil i denne koden her som jeg ikke helt finner. er det noe syntax feil her?

timer timer;

class Aircraft;
{
public:
                               
void Aircraft::setforce(int x, int y, int z)
{
   force.x=x;
   force.y=y;
   force.z=z;
}       
   
void Aircraft::calculateA()
{
   aceleration.x=force.x/mass;
   aceleration.y=force.y/mass;
   aceleration.z=force.z/mass;    
}
   
void Aircraft::calculateV()
{
   calculateA();
   velocity.x+=aceleration.x*timer.GetElapsedSeconds();
   velocity.y+=aceleration.y*timer.GetElapsedSeconds();
   velocity.z+=aceleration.z*timer.GetElapsedSeconds();
}    
   
void Aircraft::setposition(int x, int y, int z)
{
   position.x=x;
   position.y=y;
   position.z=z;   
}
   
void Aircraft::move()
{
   calculateV();
   position.x+=velocity.x*timer.GetElapsedSeconds();
   position.y+=velocity.y*timer.GetElapsedSeconds();
   position.z+=velocity.z*timer.GetElapsedSeconds();
}    

private:
 CVector velocity;
 CVector position;
 CVector aceleration;
 CVector force;
 double friction;
 double alltitude;
 double m2lift;
 double fuel;
 double fuelflow;
 double drag;
 double trottle;
 double mass; 
             
};

 

timer er en egen klasse definert før som virker helt fint.

håper noen kan hjelpe.

Lenke til kommentar
Videoannonse
Annonse
Skal ; etter "class Aircraft" være der?

nei.

Desssuten ville jeg puttet deklararasjonene (prototypene)i en headerfil, og selve funksjonene i en .cpp fil.

 

HEADER FIL

class AirCraft
{
public:
AirCraft(); // constructor
~AirCraft(); // destructor

void Aircraft::setforce(int x, int y, int z);
void Aircraft::calculateA();
[...]
private:
<variabler>

};

CPP FIL

AirCraft::AirCraft()
{
<noe skjer her>
}

void AirCraft::setforce(int x, int y, int z)
{
  force.x=x;
  force.y=y;
  force.z=z;
}
[osv]

Lenke til kommentar
Skal ; etter "class Aircraft" være der?

nei.

Desssuten ville jeg puttet deklararasjonene (prototypene)i en headerfil, og selve funksjonene i en .cpp fil.

 

HEADER FIL

class AirCraft
{
public:
AirCraft(); // constructor
~AirCraft(); // destructor

void Aircraft::setforce(int x, int y, int z);
void Aircraft::calculateA();
[...]
private:
<variabler>

};

CPP FIL

AirCraft::AirCraft()
{
<noe skjer her>
}

void AirCraft::setforce(int x, int y, int z)
{
  force.x=x;
  force.y=y;
  force.z=z;
}
[osv]

hva mener du med

AirCraft::AirCraft()
{
<noe skjer her>
}

hva tenkte du kunne skje der.( er en stund siden jeg ha programert.)

og jeg får nå opp feil meldingen.

16 C:\Documents and Settings\Eier\Skrivebord\physic\test\engine.h:7 [Warning] ISO C requires whitespace after the macro name 

26 C:\Documents and Settings\Eier\Skrivebord\physic\test\physic.cpp `test' undeclared (first use this function) 

+ litt mer som ikke er noe og ramse opp bare noe med test.(dette er at den ikke er declered.)

37 C:\Documents and Settings\Eier\Skrivebord\physic\test\physic.cpp `sleep' undeclared (first use this function) 

 

håper på svar.

 

MVH. Fredrik

 

PS: bruker DEVCPP for den som lurer.

Endret av Fredrik90
Lenke til kommentar

16 C:\Documents and Settings\Eier\Skrivebord\physic\test\engine.h:7 [Warning] ISO C requires whitespace after the macro name

 

Tipper du har deklarert et makro uten mellomrom mellom navn og deklarasjon, eller navn og parameterliste. dessuten er det are en warning.

 

#define MYMACRO(VAR)MessageBox(VAR)

skal være

#define MYMACRO(VAR) MessageBox(VAR)

eller noe sånt, eller så er det en følgefeil.

 

Resten er at du kan ha glemt å inkludere en header.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...