230 likes | 372 Views
Delphi og C++ Builder. C++ Builder. C++. Historie Sproget blev designet for AT&T af danskeren Bjarne Stoustrup 1982 - 85 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
E N D
Delphi og C++ Builder C++ Builder
C++ Historie • Sproget blev designet for AT&T af danskeren Bjarne Stoustrup 1982 - 85 • 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 <iostream.h> #include <math.h> • Inkluderer diverse system funktioner
Hello World #include <iostream.h> 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 <iostream.h> 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;