Programmeren in C++/Inleiding: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
aanpassingen |
|||
Regel 1:
== Introductie ==
C++ is een uitbreiding ([[superset]])
De [[ontwerper]] van C++ is Bjarne Stroustrup. Hij werkte op dat moment voor AT&T. Zijn website is http://www.research.att.com/~bs/.
Terwijl C "functie-georienteerd" is, is C++ zgn. "object-georienteerd". Dit houdt in dat er in C++ voornamelijk objecten en klassen worden gebruikt, en in C alleen maar functies. Er kan in C++ echter wel met functies gewerkt worden, dus de oude code hoeft niet gelijk de prullenbak in
▲Er kan in C++ echter wel met functies gewerkt worden, dus de oude code hoeft niet gelijk de prullenbak in, C++ werd ontwikkeld met backward compatibility in het achterhoofd, het resultaat is dus dat elk
== Veranderingen ==
We gaan er op dit moment vanuit dat je al een klein beetje ervaring met C hebt. Dit hoeft niet veel te zijn, maar het programma "Hello World"
=== Headers ===
Regel 27 ⟶ 23:
</pre>
Een
<pre>
#include <iostream>
Regel 34 ⟶ 29:
</pre>
De oude C-headers kunnen in C++ echter wel nog gebruikt worden.<br />
Ze krijgen dan geen extensie meer,
Bijvoorbeeld "stdio.h" wordt "cstdio".
=== Functies versus
Een van de grootste verschillen - zoniet het grootste
Het klinkt moeilijker dan het is, kijk maar...
Het C-programma "Hello World"
<pre>
#include <stdio.h>
Regel 52 ⟶ 47:
}
</pre>
Het C++-programma "Hello World"
<pre>
#include <iostream>
Regel 61 ⟶ 56:
// In C++ krijgen functies een type mee, dit is meestal void of int.
int main()
{
// endl staat voor end line en doet dus hetzelfde als \n.
//
//
cout << "Hello World" << endl;
//
return 0;
}
</pre>
Een tweede versie van het "Hello World" programma maakt gebruik van een "
<pre>
Regel 79 ⟶ 73:
#include <iostream>
#include <string>
using std::cout; // Wanneer we 'cout' of 'endl' gebruiken
using std::endl; // naar deze uit de naamruimte 'std'
using std::string;
// Definitie van de
class Begroeter{
protected: // beschermde onderdelen, enkel in sommige gevallen toegankelijk
string begroeting;
private:
// Privaat toegankelijke onderdelen, enkel toegankelijk
//
string begroeting;
public:
Regel 101 ⟶ 95:
}
// De zegHallo
void zegHallo(){
cout << begroeting << endl;
Regel 118 ⟶ 112:
</pre>
Het
tov C, en struct kan hier nu ook
opvalt is de klassedefinitie in twee gesplitst door de woorden "private" en "public", na private
komen alle lidfuncties en variabelen die eigen zijn aan de klasse en niet van buitenaf
|