Hvordan kalder man variabler i andre filer c++

Tags:    c++

Hej, jeg prøver at lave et tekstbaseret rpg spil, og jeg ville nu for første gang prøve at arbejde med flere filer. Jeg vil gerne skrive alle mine våben og deres egenskaber som skade, block og navn, i en fil kaldet weapons. Hvordan kalder jeg de forskellige våben ind til min main.cpp fil?

dette er hvad min weapons.cpp fil ser ud som:

#include <iostream>
#include <string>

int weaponSwordIron(int damage = 4, int health = 2, string name = "Iron Sword");
int weaponSwordGold(int damage = 6, int health = 3, string name = "Golden Sword");
int weaponSwordSwordOfTheHeavens(int damage = 10, int health = 5, string name = "Sword Of The Heavens");
int weaponBowSimple(int damage = 5, int health = 1, string name = "Simple Bow");
int weaponBowLongBow(int damage = 7, int health = 2, string name "Long Bow");
int weaponBowThunder(int damage = 12, int health = 3, string name = "Thunder Bow");
int weaponStaffStaffOfFlames(int damage = 6, health = 0, string name = "Staff Of Flames");
int weaponStaffStaffOfLightning(int damage = 9, int health = 0, string name = "Staff Of Lightning");
int weaponStaffStaffOfAssKicking(int damage = 15, int health, string name = "Staff Of Ass Kicking");

så hvordan kan jeg kalde et af de våben ind til min main.cpp?
i øvrigt undskyld for lang post.





4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Som regel vil du bare have en fil evt en .txt eller xml fil, hvor du kan hente alle disse data direkte ind til din applikation :)



Du skal inkludere din i din main fil sådan her:
Fold kodeboks ind/udC++ kode 


Så kan du bruge dem i din main.cpp. Mange laver også en fil med endelsen .h hvor de indsætter erklæringerne men beholder definitionerne i .cpp filen. F.eks.:

weapon.h:
Fold kodeboks ind/udC++ kode 


weapon.cpp:
Fold kodeboks ind/udC++ kode 


Og så ville du i stedet inkludere weapon.h i main.cpp.

En anden ting du du bør kigge på er "include guards". De forhindrer at en fil bliver inkluderet for mange gange hvilket kan skabe blandt andet kompileringsfejl. F.eks. en main fil med:
Fold kodeboks ind/udC++ kode 

Hvis der så både i A og B står:
Fold kodeboks ind/udC++ kode 

så kan det godt give problemer siden X.h bliver inkluderet 2 gange.



Indlæg senest redigeret d. 07.09.2012 23:21 af Bruger #14645


så kan det godt give problemer siden X.h bliver inkluderet 2 gange.

nu er det godt nok længe siden jeg sidst har leget med C / C++ men kan du ikke bruge #ifndef inde i din header file, så kan du includere den nok så mange gange du vil.

http://gcc.gnu.org/onlinedocs/cpp/Once_002dOnly-Headers.html#Once_002dOnly-Headers


Fold kodeboks ind/udKode 







så kan det godt give problemer siden X.h bliver inkluderet 2 gange.

nu er det godt nok længe siden jeg sidst har leget med C / C++ men kan du ikke bruge #ifndef inde i din header file, så kan du includere den nok så mange gange du vil.

http://gcc.gnu.org/onlinedocs/cpp/Once_002dOnly-Headers.html#Once_002dOnly-Headers


Fold kodeboks ind/udKode 



Jo, det er også det der kaldes include guards.




t