Ga naar inhoud

C++/C


anoniem

Aanbevolen berichten

Tsja, daar was ik al bang voor dat je dat ging vragen :D Het is namelijk nogal moeilijk om uit te leggen wat "object oriented" precies inhoud. Het zou gemakkelijk zijn als ik termen mag gebruiken als "encapsulation", "inheritance" en "polymorphism". Maar ik neem aan dat die termen je ook niets zeggen dus daar heb je niets aan. Ik zal toch een poging doen, maar als je nog geen programmeerervaring hebt zou ik me kunnen voorstellen dat je nog niet veel wijzer bent aan het einde van het verhaal. In traditioneel programmeren, als je bijvoorbeeld een cirkel op het scherm wilt teken doe je dat van "buitenaf". Ik bedoel dat je een procedure schrijft die een cirkel op het scherm tekent. Die cirkel zelf is in dat opzicht een "dom ding". Het weet niets van zichzelf. Alleen doordat de programma-code de cirkel kan tekenen zie je dat er iets gebeurt, maar de cirkel zelf weet daar niets vanaf. In object oriented programmeren koppel je code ("intelligentie") aan een voorwerp ("object"), de cirkel in het voorbeeld hierboven. Je maakt als het ware van de cirkel een intelligent object die zichzelf kan tekenen. Vervolgens zeg je tegen de cirkel: "teken jezelf". Nou denk je misschien "dat is alleen maar anders, maar is dat dan ook beter?". Jazeker, maar het zou een ellenlang verhaal worden om dat duidelijk te maken. Het beste kun je er gewoon aan beginnen. In het begin zul je nog regelmatig denken "beetje omslachtig allemaal". Maar op een gegeven moment valt het kwartje. En vanaf dat moment wordt alles ineens duidelijk en snap je ook de voordelen. Het is werkelijk de allergrootste uitvinding sinds het ontwikkelen van de programmeertaal (mijn bescheiden mening uiterraard). Hopelijk is het ietsje duidelijker?
Link naar reactie
Je kunt in C/C++ ook programma's schrijven voor Linux, maar dan heb je ook een compiler voor Linux nodig. Borland C++ is voor Windows en daar schrijf je dan ook Windows programma's mee. Het is eventueel wel mogelijk om C/C++ programma's zo te schrijven dat ze "portable" zijn. Zodanig dat je de code die je voor Windows ontwikkeld hebt ook kan worden ge-her-compileerd onder Linux. Maar dat is best moeilijk en er zitten haken en ogen aan. Maar als je perse wilt kan het wel.
Link naar reactie
[quote:4de6e033a3="Alexander Online"]Ik ben de c++ builder van Borland aan het dwnloaden. Maar kun je met C(++) ook linux progies maken? [/quote:4de6e033a3] Ja, zo lang je alleen gebruik maakt van de 'standaard' mogelijkheden van C(++) (je moet dus niet de win32 API gaan gebruiken) werken ze ook onder linux. Je moet ze dan alleen nog compileren met een linux c++ compiler, maar die wordt met elke linuxdistributie meegeleverd. [edit]Kamikaasje was met net voor[/edit]
Link naar reactie
lastig zeg... VB is een makkie hier mee vergeleken. Kga toch maar een boek van vriend lenen en wat tutorials volgen. Ik gebruik nu C++BuilderX Personal van Borland. dit was het voorbeeld: [code:1:5bfffdfeae] #include <iostream> #include "main.h" int main(int /*argc*/, char* /*argv*/[]) { std::cout << "Hello world!" << std::endl; std::cout << "Please enter a character and press return:"; std::cin.get(); std::cout << "Goodbye world!" << std::endl; return 0; } [/code:1:5bfffdfeae] vind ik maar vaag, ik zie niks logisch in dat std::cout enzo. nu eerste uitdaging, hoe maak ik dat het antwoord op die vraag in een variabele wordt opgeslagen en ergens anders getoond?
Link naar reactie
ja ik had al iets geprobeerd.. kijk hier, okee de invoer werkt alleen met cijfers maar het werkt [code:1:0f8fda1439] #include <iostream> #include "main.h" int main(int /*argc*/, char* /*argv*/[], int a) { std::cout << "Hello world!" << std::endl; std::cout << "Voer iets in: "; std::cin >> a; std::cout << a << std::endl; return 0; } [/code:1:0f8fda1439] Nou had ik toch een paar vraagjes 1. Ik hoor vaak dat C++ een van de meest gebruikte talen is, maar het doet mij erg denken aan Basic enzo. Wat is er zo goed aan C++ 2. Voor windows maak je exe bestanden, maar wat is er voor Linux. Alexander
Link naar reactie
[quote:046820dd1f="Alexander Online"]2. Voor windows maak je exe bestanden, maar wat is er voor Linux.[/quote:046820dd1f] Maakt niet uit. Linux doet niets met extenties dus je mag het elke extensie geven die je maar wilt. Vaak hebben ze geen extensie. Linux werkt met permissies en als een bestand de e(x)ecute permissie heeft kan je het uitvoeren. Voorbeeldje: [quote:046820dd1f] -rw-r--r-- 1 frank users 134 okt 23 21:25 clubs.txt -rwxr-xr-x 1 frank users 22213 okt 26 21:41 opgave5* -rw-r--r-- 1 frank users 2114 okt 26 21:35 opgave5-2.zip -rw-r--r-- 1 frank users 683 okt 14 23:00 opgave5.cpp -rw-r--r-- 1 frank users 7790 okt 22 20:55 opgave5-laptop.cpp -rw------- 1 frank users 11915 okt 26 21:41 opgave5-nieuw2.cpp -rw-r--r-- 1 frank users 12058 okt 23 22:18 opgave5-nieuw.cpp -rw------- 1 frank users 1859 okt 14 21:53 opgave5.zip -rw-r--r-- 1 frank users 159 okt 13 09:26 week1.txt -rw-r--r-- 1 frank users 161 okt 23 21:26 week2.txt -rw-r--r-- 1 frank users 161 okt 23 21:26 week3.txt -rw-r--r-- 1 frank users 161 okt 23 21:26 week4.txt -rw-r--r-- 1 frank users 159 okt 13 09:35 week5.txt -rw-r--r-- 1 frank users 159 okt 13 09:37 week6.txt -rw-r--r-- 1 frank users 164 okt 13 09:40 week7.txt [/quote:046820dd1f] De voorste kolom zijn de permissies als daar een x staat is het uit te voeren (de eerste x wil zeggen dat de eigenaar het bestand mag uitvoeren, de tweede x wil zeggen dat de groep (users in dit geval) het bestand mag uitvoeren en de derde x wil zeggen dat iedereen (die niet tot de groep behoort en die niet de eigenaar zijn) het bestand mag uitvoeren). Over die permissies hoef je je meestal geen zorgen te maken, als je een c++ programma compileert worden de permissies meestal al goed gezet.
Link naar reactie
Waar baseer je het op dat het je aan Basic doet denken? Toen ik met programmeren begon (een kleine 20 jaar geleden) had C zeer grote voordelen. Denk aan het gebruik van pointers in het algemeen, pointers naar functies, het gebruik van structures en de mogelijkheden van dynamische geheugen allocatie. [i:adf9717f51]Structures[/i:adf9717f51] zijn de voorlopers van de in OO gebruikte [i:adf9717f51]klassen[/i:adf9717f51] en het [i:adf9717f51]overriden[/i:adf9717f51] van een functie in OO gebeurt (bij mijn weten) door [i:adf9717f51]pointers naar functies[/i:adf9717f51] te gebruiken. C heeft verder het voordeel dat het portable is (zegt men). Code geschreven voor een Linux machine is zonder veel problemen over te zetten naar bv een Windows machine. Het hangt er echter erg vanaf wat je allemaal in je programma 'uitspookt' om dat zonder problemen te kunnen doen. Hoe het tegenwoordig is weet ik niet. Ik heb eigenlijk nooit meer een andere taal gebruikt afgezien van Tcl/Tk voor user interfaces (en af en toe een beetje VBA voor Access databases en Word macro's).
Link naar reactie
Een van de dingen die je wel met C++ kan schrijven en niet met Basic zijn allerlei low-level applicaties. Om poorten aan te sturen of drivers voor allerlei apparaten. Ook besturingssystemen zijn voor een redelijk groot deel in C++ geschreven. Compilers ook. Maar voor een simpele euro calculator kan je veel beter (Visual) Basic gebruiken. Anders moet je gaan zitten klooien met de Win32 API en dan typ je honderd(en) regels voor een eurocalculator. Je hebt ook zoiets als Borland C++Builder. Daarmee kan je makkelijk in ongeveer dezelfde omgeving als VB C++ programma's schrijven. Ik vind C++ persoonlijk het prettigste taal om mee te werken.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...