Delphi og C++ Builder C++ Builder. C++ Historie Sproget blev designet for AT&T af danskeren Bjarne Stoustrup 1982 - 85 En objektorienteret videreudvikling.

Slides:



Advertisements
Lignende præsentationer
Velkommen til Softwarekonstruktion
Advertisements

1 C-kursus 6. Lektion n Repetition af 5. Lektion n Vi mødes igen kl til gennemgang af 6. Lektion.
Indledende Programmering Uge 2 - Efterår 2006 Selektioner og interaktion mellem objekter Susanne Brix Lindros.
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
Intro Forelæsning 2 Linux install-party lør.14.sept kl – man. 14.okt – Kursets omfang :7,5 ECTS Kursussammensætning: forelæsning.
Grundlæggende programmering Efterår 2001
Hvordan man skriver koden.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
Intro Forelæsning 6 Linux Install Party i PC-Cafeen i morgen.
Delphi og C++ Builder C++ Referencer og pointere.
Begreber og Redskaber 2. Plan for idag Noget om bestanddelene i et programmeringssprog Syntaksbeskrivelse af java Næste gang: –Binære tal –Repræsentation.
Lektion 7 Læsestof: Kopier fra Caranno
Fundamentale datastrukturer
FEN KbP/seminar 1: Specifikationer/Notationen Q 1 Kontraktbaseret programmering: Seminar 1 Om specifikationer Algoritmenotationen Q.
Ingeniørhøjskolen i Århus Slide 1 Newton approximation ”Oversæt” til algoritme - Step 5: Skriv kode - Step 4: Skriv pseudokode - Step 3: Specificér pre-
DATATYPER. For at tilpasse hvert felt i databasen til dets formål og dermed øge funktionalitet 1 bit er tilstrækkelig til at angive køn (0/1) men for.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Procestræ under afvikling af cp init login shell cp cp src dest.
Paradigmer i Programmering 2. Sammensatte typer Tupler og lister Programmering med rekursion Programmering med pipe-lines Programmering med polymorfe.
Paradigmer i Programmering 1. Program for idag : Funktioner og udtryk i SML : Øvelse : Frokost – 14.00: Deklarative.
Primitive typer. dIntProg, F08Typer.2 Subtyperelation for primitive typer byte ≤ short ≤ int ≤ long ≤ float ≤ double char boolean double d; int i; d =
8 RÅD VEDRØRENDE GOD PROGRAMMERING Effective (brown) Java.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
Paradigmer i Programmering 1. Plan for kurset 4 x Mads R, 4 x Torben B, 2 x opgave MR: Funktionsprogrammering, SML TB: Logikprogrammering, Prolog Opgave:
Fundamentale sprogbegreber
PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.
Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner findEn findAlle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Repetition af dIntProg v/ Morten D. Bech. Tour de force Variabler Løkker Comparable ImErKo-reglen Eksamenssæt dIntProg, E13.
GP4, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 4 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
C#: Data Typer. 2 Nordjyllands Erhvervakademi Indhold: “.NET is designed around the CTS, or Common Type System. The CTS is what allows assemblies,
Paradigmer i Programmering 3. Højere ordens funktioner Idag: Højere ordens funktioner Algebraiske datatyper Næste gang: I/O, Filer, interaktive programmer.
Effective Java Blå gruppe. Item 18: Interfaces frem for abstrakte klasser Kan implementeres i klasser der ikke nedarver Eksisterende klasser kan nemt.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
Quiz 3.1. Quiz 1 – Assignment dIntProg, E14 Hvad er værdierne af x og y efter udførelse af følgende program? 1.x er 6, y er 3 2.x er 8, y er 5 3.x er.
I o p o DAIMI, AU, November 1999Programkonstruktion I9E.1 Konstruktion og brug af klasser – en stak og en HP-regnemaskine push pop.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
 Henrik B. Christensen, 1999Introducerende objektorienteret programmering8B.1 Interfaces En ren kontrakt.
 Jens Bennedsen, 2003Introducerende objektorienteret programmeringinterfaces.1 Interfaces En ren kontrakt.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6A.1 Programmering med interfaces – en stak og en HP-regnemaskine push pop.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
Programmering med interfaces Separering af specifikation, anvendelse og implementation.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
 Jens Bennedsen 2001Multimedie programmering10B.1 Interfaces En ren kontrakt.
DAIMIIntroducerende objektorienteret programmering4D.1 Betingelsessætninger if.
Multiple processer på web-site Web- server filer Kunde 1 Kunde 2 Kunde p1p2p internet.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
DAIMIIntroducerende Objektorienteret Programmering8B.1 Interfaces En ren kontrakt.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering5C.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
Forelæsning Uge 2 – Torsdag Java syntax og style guide Sætninger –Simple sætninger (assignment, interne og eksterne metodekald) –Sammensatte sætninger.
Algoritmeskabeloner findOne, findAll, findNoOf, findSumOf Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder.
Forelæsning Uge 2 – Torsdag
Forelæsning Uge 4 – Mandag
Forelæsning Uge 4 – Mandag
Forelæsning Uge 2 – Mandag
Forelæsning Uge 4 – Mandag
Studiepraktik Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Quiz Uge 2 – mandag.
Parametrisering En kort introduktion.
Forelæsning Uge 2 – Mandag
Forelæsning Uge 4 – Torsdag
Quiz – Uge 9 – mandag – første time
Præsentationens transcript:

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;