C++ fra bunden - Del 1

Tags:    c++
Skrevet af Bruger #2853 @ 25.01.2003

Hvad skal jeg bruge?



For at kunne starte på C++ skal du bruge en compiler.
En compiler er et program som omdanner din kode til maskinkode (binær), som kan læses af din computer.

Der findes et hav af compilere og editorer som man kan bruge. Jeg vil anbefale at du bruger Dev-cpp, hvor du både kan skrive din kode i og compile den. Den er også samtidig gratis, hvorimod mange andre compilere koster utrolig mange penge.

Du kan sagtens bruge andre compilere, hvis du er den heldige ejer af fx Microsoft Visual Studio eller Borland C++ Builder.


Lad os komme igang



I de fleste af mine tutorials vil jeg følge denne opbygning:
1) Lidt basisviden
2) Kode
3) Forklaring

Lad os starte med at lave et simpelt Hello World! program:

Fold kodeboks ind/udKode 


Linie 1: #include <iostream>
Sætninger som begynder med "havelågen" (#) er sætningerne som compilerens preprocessor skal bruge, jeg vil senere kommer lidt mere ind på hvad en preprocessor er, og hvad den gør. #include <iostream> fortæller preprocessoren at den skal inkludere iostream. Denne fil indeholder deklarationer på c++'s standard input-output bibliotek, som vi bruger i vores program.

Linie 3: using namespace std;
Denne sætning gør det muligt at bruge kommandoer fra ovenstående bibliotek, uden at du behøves at sætte std:: foran. Hvis vi ikke brugte denne sætning ville vores cout << "Hello World!"; komme til at se sådan ud: std::cout << "Hello World!";

Linie 5: int main()
Et C++ program kan indeholde mange funktioner, men det skal altid indeholde en main funktion. Main funktionen er derfra hvor dit program starter dens udførelse. Main er efterfulgt af () fordi det er en funktion, alle funktioner indeholder () som optionælt kan indeholde argumenter. int betyder at funktionen returnere en værdi som skal være en integer.

Linie 5: {
Dette er her hvor din funktion starter

Linie 6: cout << "Hello World!";
cout er et objekt fra c++'s standard input-output bibliotek, som gør det muligt at udskrive til dit standard output, normal vis din skærm. Cout er deklereret i iostream og det er derfor vi inkluderede den tidligere.

Linie 7: return 0;
return afslutter dit program og returnerer den værdi den er instrukteret til, i dette tifælde 0. Dette er den mest normale måde at afslutte sit program på, hvis der ikke opstår nogle fejl i afviklingen af programmet.

Linie 8: }
Her afsluttes din funktion

Det var det. Når programmet er compiled skriver det Hello World! på din skærm og afslutter igen.

Jeg når ikke at se hvad der sker



Nej, det er fordi programmet afslutter lige efter det har skrevet Hello World!, men du kan prøve at gå ud i din kommandoprompt og kører programmet derfra, så vil du kunne se at der står Hello World! på skærmen.


Udbygning af vores program



Lad os tilføje lidt mere til vores program:

Fold kodeboks ind/udKode 


Linie 1-2: /* Mit foerste C++ program
Copyright: Dit navn */
Dette er en kommentar, og bliver ignoreret af din compiler. Kommentarer kan være med til at gøre det mere overskueligt for både dig selv og andre som skal se din kode igennem, at finde ud af hvad de forskellige linier gør. /* indikerer at det er her din kommentar starter, og */ bruges når din kommentar slutter.

Linie 10: cout << "Hello World!" << endl; // udskriver Hello World!
Som du kan se er der kommet en ekstra parameter på vores cout. Endl står for endline og afslutter din linie og starter på en ny i dit output.
Bagefter din sætning er der kommet en anden form for kommentar på, // udskriver Hello World! Denne måde at skrive kommentarer på kan kun bruges på 1 linie ad gangen, og kan derfor ikke, ligesom /* */, bruges over flere linier. Alt efter // på samme linie betragtes som en kommentar, og bliver ignoreret af din compiler

Linie 11: cout << "Jeg er en C++ programmoer";
Her har vi tilføjet endnu en cout sætning, denne gang udskriver den Jeg er en C++ programmoer. Læg mærke til at vi har erstattet ø med oe, da C++ ikke understøtter de danske bogstaver æøå som standard.

Det var alt for denne gang, fortvivl ikke hvis du ikke forstår alt hvad vi har gået igennem i denne del, da det hele senere vil blive uddybet, i de kommende dele.


Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (44)

User
Bruger #789 @ 05.02.03 08:44
return afslutter ikke programmet.
return afslutter funktionen
User
Bruger #2853 @ 29.01.03 19:56
Til Kresten Kjær:
Har du prøvet at kigge på Del 2, den bider ikke?
User
Bruger #2968 @ 28.01.03 22:06
Artiklen er lidt tynd, Vis os noget smart :-) at udskrive text er basis ja men hva med noget med tal eller variabler?
User
Bruger #2520 @ 29.01.03 09:45
God artikel godt for sådan nogle som mig at starte på.
User
Bruger #959 @ 27.01.03 08:16
Rigtig god artikel
User
Bruger #2712 @ 11.02.03 16:06
helt grei artikel
User
Bruger #3368 @ 18.02.03 15:13
Riktig bra for denne nybegynneren!
User
Bruger #3297 @ 13.03.03 21:07
hvad fanden hvor kan man downloade det der dev-cpp crap hende forklar lige lidt mere
User
Bruger #2137 @ 20.03.03 08:26
emil <- Du kan hente Dev-Cpp på udviklerens download side, det er der jag har min version fra.

Ellers en udemærket artikel som er gennem kommenteret, men ja; den er lidt tynd.
User
Bruger #1748 @ 16.05.03 13:19
Jep, er nybegynder i C++ og synes at denne artikel er nice nok :) Læser de andre nu!
User
Bruger #4007 @ 30.05.03 12:14
Til folk der mangler en compiler, google på mingw.
User
Bruger #4201 @ 12.07.03 22:07
Det er en vildt fed tutorial for begyndere som du har lavte her!
Men kunne du ikke lave lidt flere dele?
User
Bruger #3009 @ 14.07.03 00:22
syntes artiklen er god, især fordi jeg er noob
User
Bruger #3116 @ 25.07.03 22:00
Fandt 79 fejl i den förste kode!
User
Bruger #4346 @ 21.08.03 12:36
max nice den der ;) hi hi :D gir en helt lyst til at lege med C++ *GG*
User
Bruger #4613 @ 25.10.03 11:21
Hvis man ikke kan nå at se sit program, så kan man indsætte denne kode system("PAUSE";);, så slipper man for at køre sit program genne command!
User
Bruger #2627 @ 28.11.03 15:09
nice job....
User
Bruger #4842 @ 04.12.03 23:55
God artikel, men den siger hele tiden at der er en fejl på linie 2...
User
Bruger #4929 @ 26.12.03 01:20
kan du ikke hjælpe mig?
hvad skal det der lille program gøre??
og hvordan?
plz..
kunne godt tænke mig at lære det!!

/jim
User
Bruger #3353 @ 20.01.04 16:50
jimmie hvad er det du ikke kan finde ud af?
ellers en god artikel jeg syntes ikke at den er for tynd ikke som første del!
User
Bruger #5097 @ 27.02.04 14:32
Tak.
God artikel.

Kan saktens skrive programmet.
Men hvordan avprøver jeg det?
User
Bruger #4404 @ 01.05.04 14:48
Fed artikkel den har sat mig igang :-D
User
Bruger #6050 @ 01.07.04 09:54
Rigtig nice artiktel jeg syntes den er fed!!! for alle dem der mangler en compiler så kan den downloades på: http://www.download.com/Bloodshed-Dev-C-/3000-2069-1683220.html?tag=lst-0-1

helt gratis!!!
User
Bruger #5956 @ 18.07.04 19:13
Utroligt nice artikel, Skal følge alle dine kommende artikler, Håber de bliver lige så formidable
User
Bruger #5062 @ 15.08.04 12:06
Rigtig god artikel =), for en n00b som mig har jeg ivert fald lært meget.. Og man kan godt se at C++ ligner PHP meget
User
Bruger #6369 @ 29.08.04 16:53
rigtig god og flot artikel! nu skal jeg igang med 2eren =]
User
Bruger #6810 @ 18.11.04 16:49
god artikel hvis man er begynder, ligesom mig...=P
User
Bruger #7198 @ 03.02.05 20:12
Jeg kan ikke helt forstå det. Når jeg prøver at starte programmet lukker det også men så når jeg prøver at starte det fra cmd og skriver C:\\start "project 1.exe" åbner den bare et nyt vindue som der hedder project 1.exe og så sker der ikke mere.

Skal lige siges at det er første gang jeg overhovedet prøver at programmere noget..
User
Bruger #7114 @ 20.02.05 08:36
Ehmm til alle dem som vil havde Dev så er deres hjemmeside her: http://www.bloodshed.net/

Vil en lige gerne forklare mig hvordan at jeg skal starte programmet, når at det jo lukker hvis jeg kører det i dev.. fattede ikke lige det man så skulle køre det i
User
Bruger #6850 @ 11.03.05 16:44
fin artikel hmm men hvordan åbner man i commando promten???? har gjordt det før hen men har glemt hvordan :S pinligt :S
User
Bruger #7379 @ 16.03.05 00:21
Syntes det forklare meget godt...

Stefan (20-02-25) -> Gem eks. dit program i C:\\cpp og åven så din command prompt og brows dig så frem til mappen og der kan du se der ligger en .exe fil. den kører du bare og når det køres i en cmd så lukker programmet ikke cmd...
User
Bruger #572 @ 04.05.05 10:41
Jeg syntes det er en rigtig go artikel, helt fra bunden., Det er sådan det skal være...
User
Bruger #7064 @ 04.06.05 20:25
Hvis man skriver cin.get(); over return 0; virker det perfekt:D vinduet blir vidst og det hele!
User
Bruger #7866 @ 12.08.05 14:31
God artikel til nybegyndere som mig.
Hvis man vil nå at se sit program uden at køre det i kommando promt skal man fx. skrive:

#include <iostream>

using namespace std;

int main()
{
cout << "Hello world" << endl; // udskriver Hello World!
cout << "Jeg er c++ programmoer" << endl; // udskriver Jeg er en C++ programmoer
system("PAUSE"); // det er denne linie der -pauser programmet!
}
User
Bruger #6336 @ 21.08.05 14:54
#include <iostream>

using namespace std;

int main()
{
cout << "Hello world!";
return 0;
}



Virker ikke for mig på MS C++ 2005 Express beta
User
Bruger #8431 @ 15.11.05 00:02
ganske udemærket, måske lidt for simpel men godt nok
User
Bruger #8956 @ 01.02.06 12:56
jeg synes....ja
User
Bruger #8978 @ 03.02.06 00:45
Tjaaa jeg fik det til at virke ved at skrive....
#include <iostream.h>
#include <stdlib.h>

using namespace std;

int main()
{
cout << "Hello world!" << endl; // udskriver Hello World!
cout << "Jeg er en C++ programmoer\\n"; // udskriver Jeg er en C++ programmoer
system("PAUSE");
}
og jeg er n00b til det men læste indlægsne :)
User
Bruger #9463 @ 21.02.06 15:48
nu har jeg ikke læst alle kommentarene, men hvis I vil have den til at blive fremme, så skriv

system ("pause");
return 0;
User
Bruger #11934 @ 04.06.07 19:19
et godt sted for begyndere at starte. Dog ville jeg have inkluderet en lille ting i din "udvidelse" af koden... Eventuelt få den til at loope så vinduet ikke lukker, bruges jo ofte når man starter på koden og skal se hvad der sker.

koden:

/* Mit foerste C++ Program
Copyright: Dit navn */

#include <iostream>

using namespace std;

int main()
{
cout << "Hello world!" << endl; // udskriver Hello World!
cout << "Jeg er en C++ programmoer"; // udskriver Jeg er en C++ programmoer
while(1)
{
}
return 0;
}

Så mens while er 1, looper den, og den ændres jo ikke ligefrem. Ergo en skærm der ses hele tiden indtil man lukker den i krydset :)
User
Bruger #8985 @ 15.06.07 22:15
Fandt 79 fejl i den förste kode!


Kan du så ikke liste nogle af dem? Vil meget godt se hvilke fejl, du har fundet ;)
User
Bruger #12490 @ 20.09.07 20:51
koden er nem at forstå når det er første gang man prøver at programmer ;)
User
Bruger #13793 @ 24.08.08 20:55
fin artikel at starte på^, du kunne dog godt have vist hvordan man fik programmet til ikke at slutte
fks med linien:

cin.get();

då ville den vente på enter før den fortsatte
User
Bruger #8985 @ 24.05.09 21:52
Artiklen er jo vanvittig kort; hvorfor dog dele den op i to 'dele'? Udvikleren har jo sidefunktion på nu, så uanset hvad, vil den ikke blive uoverskuelig lang. Er det mon for pointene?

C++ ligner ikke PHP. PHP ligner C++!
Du skal være logget ind for at skrive en kommentar.
t