Delphi og C++ Builder C++ Builder
C++ Historie Sproget blev designet for AT&T af danskeren Bjarne Stoustrup En objektorienteret videreudvikling af sproget C, der har sin rod i UNIX miljøet C++ har dannet udgangspunkt for udviklingen af Java
C++ Blokstruktureret sprog Programmet kan nedbrydes i funktioner Programmet starter altid med en funktion, der hedder main(). void main(void) { // Blok bestående af (meget lidt) kode }
Kommentarer /* This is a big comment */ /* This is a small comment */ // This is a comment
Datatyper C++ er case sensitiv Erklæring af variabler ligner Java Eksempler: bool a; char b; int c; double d;
Erklæring af array int somearray[10]; Elementerne nummereres her fra 0 til 9 Som i Java kan variabler erklæres stort set hvor som helst i programmet Selv om man må, er det ikke altid en god idé at gøre det
Selektion If sætning if (fajita > 10) fajita = 3; False er alt, hvad der kan evalueres (udregnes) til 0. True er alt, som er større end 0 Typen boolean er i virkeligheden en integer
If sætning Operatorer < Less-Than > Greater-Than <= Less-Than or Equal-To >=Greater-Than or Equal-To ! NOT == Equal-To != NOT Equal-To || Or && And
Switch switch (borp) { case 1 : cout << "One." << endl; case 2 : cout << "Two." << endl; case 3 : cout << "Three." << endl; default: cout << "Huh?" << endl; }
While sætning a = 0; while (a < 20) a = a + 1;
Do.. While sætning a = 44; do { // Notice the brace! a = a + 1; } while (a <= 50); Konstanter const int taco = 14; const int burrito = 15;
For sætning for (i = 0 ; i < 10 ; i = i + 1) { foo = foo + 1; }
For sætning In short, the sequence of events is: –The Initializing Statement is ran. (Above, " i = 0") –The Conditional Statement is checked. If it's FALSE (aka zero), the loop ends. (Above, " i < 10") –The block of code inside the for loop is ran. –The Incrementing Statement is ran. (Above, " i = i + 1;") –Start back on step 2. (ie, run the code again)
C++ preprocessor Et # (hash mark) markerer et direktiv til preprocessoren - en del af compileren F. eks.: #include "nacho" System headers #include Inkluderer diverse system funktioner
Hello World #include void main(void) { cout << "Hello, World!"; }
Cout - Console output cout << "Hey World, it's me. Again." << endl; cout << "World, do you like the number " << 4 << " or "; cout << 52.2 << " better?" << endl;
Cin - Console input #include void main(void) { int pepper; cin >> pepper; }
Funktioner Opbygningen af funktioner i C++ er i store træk identisk med opbygningen af funktioner i Java Funktionen afsluttes med return sætningen: return yum;
Parameter overførsel Parametre overføres som hovedregel by- value Er der ingen parametre, skal funktionen alligevel afsluttes med en tom parentes
Function overloading void burrito(int nacho) { cout << "You sent an int!" << endl; } void burrito(char foo) { cout << "You sent a char!" << endl; }
Pointere I C++ skelner man mellem variabler og pointere til variabler. int *taco, *nacho; char burrito, *salsa; float *chimichanga, margarita; Data tilknyttes med new og slettes med delete
Pointer eksempel void main(void) { int *nacho; /* Declare the pointer-to-int */ nacho = new int; /* Give nacho something to point at */ *nacho = 42; /* Assign what nacho points to 42 */ cout << "I feel like I could eat " << *nacho << " nachos!" << endl; }
Null if (taco != NULL) cout << "I feel like I could eat " << *taco << " tacos!" << endl;