Avatar billede gumbert Nybegynder
18. maj 2003 - 16:46 Der er 16 kommentarer og
1 løsning

Forklaringsproblem til hallo world

Hej eksperter :)

Jeg er i gang med en rapport hvor jeg kommer ind på c++ og for at give læseren en bedre forståelse demmonstrerer jeg med en hallo world

#include <iostream>

using namespace std;

int main()
{
cout<<"Hallo world";
return 0;
}
Avatar billede gumbert Nybegynder
18. maj 2003 - 16:49 #1
hov glemte lige mit spørgmål :)

hvordan vil i kort forklare denne kode for en der aldrig har programmeret??
Avatar billede fangel Nybegynder
18. maj 2003 - 16:54 #2
---
#include <iostream> == "fortæller C++ fortolkeren at dette program bruger funktioner fra funktionsbibloteket "iostream"

int main() == "her starter funktionen "main", der returnere et heltal (eng. "int")

cout<<"Hallo world"; == "får programmet til at bruge funktionen "cout" til at udskrive "Hallo world"

return 0; == "funktionen returnerer "0", som jo er et heltal...
---

da jeg ikke selv programmere C++ ved jeg ikke hvad namespace gør...

Morten
Avatar billede gumbert Nybegynder
18. maj 2003 - 16:55 #3
det er faktisk mest den der volder problemer fordi så skal man ind på indholdet af iostream
Avatar billede simonvalter Praktikant
18. maj 2003 - 16:59 #4
denne forklaring syntes jeg er ret god
http://udvikleren.dk/show_article.php?id=168
Avatar billede arne_v Ekspert
18. maj 2003 - 17:09 #5
http://www.cplusplus.com/doc/tutorial/tut5-2.html

forklarer namspaces (beskrivelsen af std er nederst).
Avatar billede arne_v Ekspert
18. maj 2003 - 17:10 #6
Kort sagt er pointen at i.s.f. at skrive std:: foran alt der er
i iostram så sætter man:

import namespace std;

ind i koden.

(det svarer til Java package & import, hvis du kender Java)
Avatar billede gumbert Nybegynder
18. maj 2003 - 17:14 #7
Jeg ved godt hvad den gør men D er svært at forklare kort og forståeligt for en der aldrig har programmeret
Avatar billede arne_v Ekspert
18. maj 2003 - 17:22 #8
Hvis det du skriver er forklaring til en der aldrig har programmeret så
tror jeg, at "den gøre det nemmere at bruge de ting der er defineret
i iostream" nok er bedste forsøg.
Avatar billede gumbert Nybegynder
18. maj 2003 - 17:28 #9
ja det er nok det bedste
Avatar billede soreno Praktikant
18. maj 2003 - 17:32 #10
import namespace std;

skal vist være:
using namespace std;

:-)
Avatar billede hoko Nybegynder
18. maj 2003 - 17:36 #11
hvis du i stedet skriver:
  #include <iostream.h>

Kan du helt udlade:
  using namespace std;

Du kan også skifter det ud med:
  using std::cout;
Den linje går ind og henter "cout" bibloteket fra iostream.h filen som ligger på din harddisk og indeholde en masse forprogrammeret funktioner til indlæsning og udskrift. Derefter er denne funktion tilgængelig i reste af programmet.
namespace henter bare mange ting ind. Så for en nybegynder kan det være sværet at have styr på hvad der foregår.
Avatar billede arne_v Ekspert
18. maj 2003 - 17:38 #12
søren>

Jeps.

:-)
Avatar billede arne_v Ekspert
18. maj 2003 - 17:41 #13
hoko>

#include <iostream.h>

virker med compilere idag, fordi de skal understøtte kode
skrevet før ANSI C++ blev vedtaget.

Men det er ikke nogen gid ide at skrive ny kode sådan, fordi på
et eller andet tidspunkt, så kan der godt komme compilere der
ikke understøtter det.

Mere selektiv "using" kan være en god ting. Specielt i lidt
større sammenhænge.

Til begynder brug vil jeg dog tro at using namespace std og
ellers glemme alt om namespaces er helt OK.
Avatar billede gumbert Nybegynder
18. maj 2003 - 17:42 #14
ja MEN NU BRUGER JEG IKKE .H MERE (CAPSLOACK ER SLÅET TIL OG GIDER IK SLÅ DEN FRA :D)
Avatar billede arne_v Ekspert
18. maj 2003 - 17:50 #15
Det var også til hoko ikke til dig.
Avatar billede gumbert Nybegynder
18. maj 2003 - 19:40 #16
nå ok godt ord igen :D
Avatar billede olennert Nybegynder
19. maj 2003 - 10:34 #17
gumbert> Jeg ville droppe alt om namespaces, og "bare" bruge:

#include <iostream>

int main() {
  std::cout<<"Hallo world" << std::endl;
  return 0;
}

og så forklare at #include <iostream> henter funktioner og objekter til at læse og udskrive (helt konkret std::cout og std::endl), int main() er den funktion som udføres når dit program starter, std::cout er et objekt som bruges til at skrive til skærmen, std::endl er ny linie, << tager det til højre og sender til det til venstre. Der er intet om namespaces. Så kan du senere fortælle at std:: faktisk er et namespace, men i første omgang kan folk "bare" få at vide at objekterne du bruger hedder std::cout og std::endl.
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