Upload
taipa
View
49
Download
3
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
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ætningif (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);• Konstanterconst 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 eksempelvoid 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;