Forum: Dela in kod i flera filer

Forum huvudsida -> Programmering -> Dela in kod i flera filer

Sidor: 1

Till botten

NetNinja 20:43 - 17:e Februari 2007 | Post #1
Medlem
Inlägg: 116


Skicka PM
Hej, jag skulle ta och försöka lära mig att dela in kod i flera olika filer. Hur jag än gör går de inte att kompilera, vet inte hur man ska göra. Här e koden:

main.cpp
  1. #include <iostream>
  2. using namespace std;
  3. #include "Output.cpp"
  4.  
  5. int main()
  6. {
  7. out();
  8. return 0;
  9. }


Output.cpp
  1. ]#include <iostream>
  2. using namespace std;
  3. #include "Output.h"
  4.  
  5. void out()
  6. {
  7. cout<<Hej;
  8. }


Output.h
  1. char Hej[]="Hallo";
  2. void out();



Har ingen aning om det är rätt sätt att skriva, men det är såhär jag gissat att man ska göra... Hur är det man ska göra.

-------------------------





Slash 20:51 - 17:e Februari 2007 | Post #2
Medlem
Inlägg: 141


Skicka PM
Själva uppdelningen av funktioner ser ju rätt ut. Men char Hej[]="Hallo"; i heade-filen kommer att ge dig problem. För variabeln 'Hej' kommer att defineras i varje källkodsfil som du inkluderar den i och kommer därmed generera kollisioner.

Det som du kan göra är att antingen definiera den static, eller definera den i en .c-fil och sedan deklarera den extern i inkludefilen.

I just detta fall ska ju inte variabeln användas någon annanstans än i output.c, så det är bäst att stoppa den där.

main.c
  1. #include "output.h"
  2. int main()
  3. {
  4. out();
  5. return 0;
  6. }


output.c
  1. #include <stdio.h>
  2. char var[] = "fräsigt";
  3. void out()
  4. {
  5. printf("%s", var);
  6. }


output.h
  1. void out();
  2. /* extern char var[]; om du vill använda den i andra moduler också */


Skriver du c++ ska du använda klasser enligt min åsikt.


EDIT: Såg att du inkluderade fel sak i main.cpp också, ett stavfel bara; det ska vara output.h.

-------------------------
Ingen sigantur!

Senast redigerad 20:57 - 17:e Februari 2007


NetNinja 21:14 - 17:e Februari 2007 | Post #3
Medlem
Inlägg: 116


Skicka PM
Okey, nu fattar jag. Bara en sak till, läst att man kan skapa en global variabel i .h filen. Så att om man inkluderar .h filen i massa andra filer så använder alla samma variabel.

EDIT:
Hittade svaret på Gamedev.net, så nu kan jag...

-------------------------



Senast redigerad 22:11 - 17:e Februari 2007


Sidor: 1

Forum huvudsida -> Programmering -> Dela in kod i flera filer
Atom feed

Du får inte posta i den här tråden | Till toppen