De programmeertaal C++

Slides:



Advertisements
Verwante presentaties
Objectgeoriënteerd Programmeren in C++
Advertisements

Embedded systemen Embedded software.
Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World •Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Een programma opbouwen.
Algoritmen en Datastructuren (ALDAT)
Hoofdstuk 1 Programmeren.
EVMINX4 Week 3 Algoritmen en Datastructuren (ALDAT)
Inleiding programmeren in C++ Life Science & Technology 19 januari Universiteit Leiden.
Inleiding Programmeren met Visual Basic Karl Moens.
Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Instructie Programmeren Debuggen 5JJ70. Debuggen: Wat is het probleem Je programma compileert, maar werkt niet zoals verwacht, wat nu? Vraag je af: wat.
Hoofdstuk 1 Programmeren.
‘Inleiding programmeren in Java’ Derde college Maandag 22 januari 2001 drs. F. de Vries.
Frank Stalpers en Ad Baars
Numerieke Natuurkunde
Visual Basic .NET voor studenten
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
P. 1 Vakgroep Informatietechnologie Scanf voorbeeld #include int main(void) { int i=-1,j=-1,k=-1,l=-1; int b; b=scanf("%d %d %d %d",&i,&j,&k,&l); printf("res=%d.
Mail: Jan Zuurbier  Mail:
Windows Applicaties Bouwen met Visual Studio.NET Sijmen Koffeman Development Consultant Microsoft.
Visual Basic 2010 – What’s new André Obelink
Sparkle een bewijssysteem voor Clean Maarten de Mol Katholieke Universiteit Nijmegen 11 januari 2002.
Tircms03-p les 6 Templates. Functietemplates void verwissel(int &x, int &y); { int w=x;x=y;y=w;} Dezelfde functie voor meerdere types heet een functietemplate.
Mail: (of Sheets en verdere info: Onderwerp: vervolg C
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
tircms02-p les 1 Operating Systems practicum
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
Programmeercursus O.O.P. met VISUAL BASIC.NET
JAVA: een platformonafhankelijke taal
Bewerkingen met Strings
Tircms03-p les 1 C++ voor C-kenners Voor Technische Informatica.
Studiehouding Ergens verstand van krijgen kost tijd… Uren die je alleen in je boeken doorbrengt maken het verschil. Er is niets mis met onafhankelijkheid.
OOP en.NET. Objecten Is geen ‘nieuw’ mysterieus woord Overal om ons heen zien we objecten: – TV – Computer – Auto – Wasmachine – ….
GUI & classes Een Gui in een class steken en het object gebruiken.
18 Februari 2013 Where friends have access to your privates!
4/10/2017 Opleiding BINNENISOLATIE voor thermische renovatie Module 3 Train the trainer – 06/12/ Brugge.
Isaac Newton Omdat een beetje extra bijscholing nooit kwaad kan 
Materialen en moleculen
Greenbuilding project
Door Marco Lassche, Joyce Mulder en Mare de Winter
De missie, het hart en het broodtrommeltje
Context 4 Verlichtingsideeën en de democratische revoluties
BASISVEILIGHEID (VCA)
Outdoor Advanced - Specialist Tuin en Openbaar Groen 3.1,
Groeiende kritiek op de katholieke Kerk rond 1500
De wederkomst ophanden? 20 augustus 2017 Urk.
Six hats: Werken met netwerken? Mijn gedacht
Toevoeging H5 Elektriciteit
Hoofdstuk 3 In beweging.
Reisconferentie van zorg naar zelfregie
Nienke Hoffman Teamleider bovenbouw 28 maart 2017
Op zoek naar de juiste toon Geluid in de omgevingswet
TAALSITUATIE & - ONTWIKKELING IN VLAANDEREN
De Here zeide tot Mozes: Ga, Ik zend u tot Farao
DE WINST VAN ZORGVRIENDELIJK WERKGEVERSCHAP
Informatiebijeenkomst project Snippergroen
Nedgraphicsdag 18 september 2012
Nieuw Nederlands Cursus Argumentatieve vaardigheden Opdracht 13
8.8 De Moeder van de Ida Wie is de beste man?
Hollandse Meesters 4 Portretten.
de tweede Bergrede Matteüs 24/25 - deel 8
Basis Politie- & Honden Voertuigen
Wat is Prinsjesdag?
Het Evangelie naar JOHANNES studie januari 2017 Bodegraven.
Automatische presentatie met muziek
Dienst ter nagedachtenis aan Bertine Goudswaard - Toebes
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

De programmeertaal C++ Geschiedenis Geschreven in C++ Voor- en nadelen Voorbeeld in C en C++ Compile, link en run Voorbeeld: beruchte fout in C, oplossing in C++ Aanvullende bibliotheken Voorbeeld: wxWidgets op Raspbian

Geschiedenis 1979: Bjarne Stroustrup verzint “C with classes” Pre-processor voor C compilers Object-georienteerde toevoegingen 1983: Naam “C++” Jaren ‘90: Standard Template Library (STL) Boost 1998: Standaard ISO/IEC 14882 = “c++98” Inmiddels ook c++03, c++11, c++14, c++17, etc….

Geschreven in C++

Voor- en nadelen C++ Gecompileerd, efficiente code Aanpassingen standaard backwards compatible Compiler op vrijwel ieder systeem Basaal Géén standaard toegang tot GUI of database Meer regels om hetzelfde te bereiken Keuzevrijheid om C-stijl, procedureel, object georiënteerd of functioneel te programmeren Veel vrijheid om fouten te maken Meeste implementaties geen “garbage collection”

C en C++ Hello world in C Hello world in C++ String en cout onderdeel van de STL #include <stdio.h> main() { char msg[] = "Hello World"; printf( "%s", msg ); }; #include <iostream> #include <string> int main() { std::string msg = "Hello World"; std::cout << msg; };

hello.cpp + iostream.h + string.h Compile, link en run > g++ hello.cpp -o hello > ./hello Hello World Compile Link hello.cpp + iostream.h + string.h hello.o iostream.cpp iostream.o hello string.cpp string.o

Beruchte foutbron C Buffer overflow in C Geen buffer overflow in C++ character array msg precies groot genoeg character array msg te klein voor uitroepteken. Geen buffer overflow in C++ string maakt automatisch ruimte voor uitroepteken #include <stdio.h> #include <string.h> main() { char msg[] = "Hello World"; printf( "%s", msg ); strcpy( msg, "Hello World!" ); }; #include <iostream> #include <string> int main() { std::string msg = "Hello World"; std::cout << msg; msg = "Hello world!"; }

Bibliotheken Microsoft Foundation Classes (MFC) MS Visual C++ (VC) MS Dot Net (.net) Borland Visual Component Library (VCL) Qt wxWidgets Duizenden gespecialiseerde libs...

wxWidgets voorbeeld

Naar Raspbian

Compile en link > cd wxtunnel > g++ -c `wx-config –cxxflags` *.cpp > g++ `wx-config –libs` *.o -o wxtunnel > ./wxtunnel