/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
C++ nybegynder...
Fra : Rander


Dato : 18-10-01 19:42

Jeg er tvunget udi at skulle lære C++.

Jeg har tidligere programmeret meget i Turbo Pascal, så forvent en del
spørgsmål fra mig den næste måneds tid i stil med "Det hedder sådan i Turbo
Pascal - hvad hedder det i C++?"!

Jeg vil starte allerede nu:

I Turbo Pascal hedder det

Const Valg : Array [1..3] of String [6] = ('Valg 1', 'Valg 2', 'Valg 3');

Hvordan laver man den slags i C++? Så vidt jeg umiddelbart kan snuse mig
frem til skal jeg bruge noget class-noget?

Og tillægsspørgmål: Kan man ikke dele sin kode op i flere filer i stil med
TPs units?

--
Lars Rander, www.rander.dk ICQ#: 987520 ** Pil ikke ved min adresse **
Sjathelt og beskytter af det svage køn (udnævnt af diktator SEJ 5/6-99)

Lynnedslag under uvejr i dybfryser. (Skadesanmeldelse)


 
 
Mogens Hansen (18-10-2001)
Kommentar
Fra : Mogens Hansen


Dato : 18-10-01 20:48


"Rander" <ldNOSPAM@rander.dk> wrote in message
news:b68nq9.skm.ln@rander.dk...
> Jeg er tvunget udi at skulle lære C++.

Det er heldig :)

>
> Jeg har tidligere programmeret meget i Turbo Pascal, så forvent en del
> spørgsmål fra mig den næste måneds tid i stil med "Det hedder sådan i
Turbo
> Pascal - hvad hedder det i C++?"!
>

Jeg vil umiddelbart anbefale at du får fat på en god bog.
Ikke fordi at du ikke kan få hjælp her, men forfatteren af en god bog har
gjort sig mange tanker om hvordan man bedst præsenteret stoffet.

For en der har programmeret meget i Turbo Pascal vil jeg uden tøve anbefale

Accelerated C++, Practical Programming by Example
Andrew Koenig, Barbara E. Moo
ISBN 0-201-70353-X
eller
Essential C++
Stanley B. Lippman

Den første fordi den har jeg læst og den er enestående.
Den anden fordi det også er en moderne bog (fra samme serie "C++ In-Depth
Series", Addison-Wesley), og forfatteren har fortalt mig at den netop er
skrevet for personer med en baggrund a la din.
Begge bøger er korte.
Se yderligere beskrivelse på www.aw.com/cseng

> Jeg vil starte allerede nu:
>
> I Turbo Pascal hedder det
>
> Const Valg : Array [1..3] of String [6] = ('Valg 1', 'Valg 2', 'Valg 3');
>
> Hvordan laver man den slags i C++? Så vidt jeg umiddelbart kan snuse mig
> frem til skal jeg bruge noget class-noget?

Du bedste er at du bruger C++ standard library, som findes til enhver
anstændig C++ compiler.

Du skal inkludere <string> headerfilen for at få adgang til string-klassen
"string" som ligger i namespace "std", så dens fulde navn er "std::string".
Alle strengene har variabel længde

#include <string>

void foo(void)
{
const std::string valg[] = { "Valg1", "Valg2", "Valg3" };
}

alternativt kan du skrive

void foo(void)
{
const char* valg[] = { "Valg1", "Valg2", "Valg3" };
}

det er mere performance optimalt, men du kommer hurtigt ud i noget
pointer-gymnastik, som "sd::string" beskytter dig imod.

>
> Og tillægsspørgmål: Kan man ikke dele sin kode op i flere filer i stil med
> TPs units?

Jo, sagtens.
Du skriver bare din kode i flere filer, og får dit build-miljø til at linke
det sammen til et program.

Venlig hilsen

Mogens Hansen



Rander (18-10-2001)
Kommentar
Fra : Rander


Dato : 18-10-01 21:15

Thu, 18 Oct 2001 21:47:55 +0200 brugte Mogens Hansen 80 linier på at
fortælle dette til dk.edb.programmering.c:

>For en der har programmeret meget i Turbo Pascal vil jeg uden tøve anbefale
> Accelerated C++, Practical Programming by Example
[...]
>Se yderligere beskrivelse på www.aw.com/cseng

Lyder ikke så tosset... Dem vil jeg da kigge på!

[...]
>#include <string>

string.h, går jeg ud fra?

>void foo(void)
>{
> const std::string valg[] = { "Valg1", "Valg2", "Valg3" };
>}

Error: Type qualifier 'std' must be a struct or class name

Det er iøvrigt Borlands Turbo C++ V3.0 jeg bruger...

>> Og tillægsspørgmål: Kan man ikke dele sin kode op i flere filer i stil med
>> TPs units?
>Jo, sagtens.
>Du skriver bare din kode i flere filer, og får dit build-miljø til at linke
>det sammen til et program.

Og hvordan gør man lige det? Med #include?

--
Lars Rander, www.rander.dk ICQ#: 987520 ** Pil ikke ved min adresse **
Sjathelt og beskytter af det svage køn (udnævnt af diktator SEJ 5/6-99)

Evnen til at observere præcist kaldes ofte for 'kynisme' af de,
der ikke selv har den. (George Bernard Shaw)


Mogens Hansen (18-10-2001)
Kommentar
Fra : Mogens Hansen


Dato : 18-10-01 22:17


"Rander" <ldNOSPAM@rander.dk> wrote in message
news:8ldnq9.skm.ln@rander.dk...
> Thu, 18 Oct 2001 21:47:55 +0200 brugte Mogens Hansen 80 linier på at
> fortælle dette til dk.edb.programmering.c:
>
>
> [...]
> >#include <string>
>
> string.h, går jeg ud fra?

Nej, ikke hvis det skal være Standard C++ - og det skal det formodentligt ?
<string.h> er en gammel form.
Alle headerfiler fra standard-library includeres uden "h"

>
> >void foo(void)
> >{
> > const std::string valg[] = { "Valg1", "Valg2", "Valg3" };
> >}
>
> Error: Type qualifier 'std' must be a struct or class name
>

Det er fordi du bruger en gammel compiler.

> Det er iøvrigt Borlands Turbo C++ V3.0 jeg bruger...
>

Med mindre du har en _meget_ god grund (f.eks. at du skrive MS-DOS
programmer) til at bruge en gammel C++, vil jeg kraftigt anbefale at du får
på en mere moderne.
Der bør være mindre end 2 år gammel.

> >Du skriver bare din kode i flere filer, og får dit build-miljø til at
linke
> >det sammen til et program.
>
> Og hvordan gør man lige det? Med #include?

Nej, ikke med include.
Svaret er værktøjsafhængigt.
Så vidt jeg husker Turbo C++ V3.0, så har du et project vindue.
Hvis du højre-klikker (?) i det er der en menu a la "Add File" ?
Eller måske noget menu "Project | ..." hvor du kan tilføje ekstra CPP filer.

Venlig hilsen

Mogens Hansen



Martin Schultz (18-10-2001)
Kommentar
Fra : Martin Schultz


Dato : 18-10-01 22:29

On Thu, 18 Oct 2001 23:16:57 +0200, "Mogens Hansen"
<mogens_h@dk-online.dk> wrote:
>Med mindre du har en _meget_ god grund (f.eks. at du skrive MS-DOS
>programmer) til at bruge en gammel C++, vil jeg kraftigt anbefale at du får
>på en mere moderne.
>Der bør være mindre end 2 år gammel.
Man kan downloade borlands C++ compiler version 5.0 gratis fra deres
website(www.borland.com). Det er deres nyeste.

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste