Avatar billede tosssen Nybegynder
30. december 2002 - 18:30 Der er 8 kommentarer og
1 løsning

Flere headerfiler i Visual Studio .NET

Nogen der kan fortælle mig hvorledes jeg skal strukturere mit projekt med hensyn til #include's? Jeg har følgende headerfiler:

MyRandomGenerator.h
Opgave.h
  basisklasse
MC.h
  nedarvet klasse fra Opgave.h
UMC.h
  nedarvet klasse fra Opgave.h
Motor.h
  Bruger objekter af typerne MC, UMC og MyRandomGenerator

Derudover bruger alle klasserne et antal standart header files

Jeg har prøvet at samle alt i global.h og så inkludere global.h i de enkelte header files, men det giver en fejlmelding om at compilerens interne heap limit er nået.

Søren
Avatar billede tosssen Nybegynder
30. december 2002 - 18:32 #1
Jeg har også en fil kaldet MultipleChoice.cpp hvor der i main oprettes et objekt af typen Motor, og ikke andet
Avatar billede jpk Nybegynder
31. december 2002 - 12:34 #2
nu skriver du ikke hvilken compiler du bruger, men det kan godt skyldes løkker i dine includes (fil 1 includer fil 2 som includer fil 1 osv...)

Du kan prøve at indsætte et check i hver af dine headerfiler for at undgå dette, fx:


#ifndef TEST_H
#define TEST_H

class Test
{
};

#endif

Det er egentlig ligemeget hvad du bruger som define, det skal blot være forskelligt for hver header-fil (her har jeg bruget TEST_H)
for en anden klasse, fx Person, kunne du bruge PERSON_H.

Det medfører, at hvis klassen allerede er defineret, bliver den det ikke igen!
Avatar billede jpk Nybegynder
31. december 2002 - 12:35 #3
Ups, jo du skrev jo forresten hvilket miljø i overskriften...
Avatar billede jpk Nybegynder
31. december 2002 - 12:36 #4
VC++ anvender selv denne metode ved autogenerering af klasser, for at undgå sådanne problemer...
Avatar billede tosssen Nybegynder
31. december 2002 - 12:39 #5
Ja, visual c++ .net skriver #pragma once først i alle nye header filer. Dit forslag med #ifndef osv. havde jeg prøvet og brugt. Jeg ved ikke hvad der var galt, men det løste mit problem at følge anvisningerne på denne side, som jeg selv har fundet:
http://www.gamedev.net/reference/programming/features/orgfiles/page2.asp
Avatar billede jpk Nybegynder
31. december 2002 - 12:41 #6
Hmm, det ville da være rart hvis du skrev det en anden gang, så man ikke sidder her og bruger tid på noget du selv har løst!
Avatar billede tosssen Nybegynder
31. december 2002 - 12:45 #7
Det er klart, det er jeg ked af, men det er ikke mere end et par timer siden jeg fandt siden. Hvis dit svar tilfældigvis havde faldet sammen med den vejledning jeg fandt, så ville du også have fået pointene.
Jeg lover det ikke skal ske igen.
Avatar billede jpk Nybegynder
31. december 2002 - 12:48 #8
Okay, no hard feelings...
Ha' en god nytårsaften
Avatar billede tosssen Nybegynder
31. december 2002 - 12:49 #9
I lige måde!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester