Von Java nach C++ Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund
|
|
- Herbert Weiß
- vor 7 Jahren
- Abrufe
Transkript
1 Von Java nach C++ Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/2010 1
2 Übersicht Einleitung Literatur Vergleich zwischen C++ und Java Klassen in C++ Übersetzungsprozess von C++-Programmen Programmieren in Visual Studio Ausgewählte C++-Konzepte Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/2010 2
3 Einleitung C makes it easy to shoot yourself in the foot, C++ makes it harder, but when you do, it blows away your whole leg. (Bjarne Stroustrup) Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/2010 3
4 Literatur Die C++-Programmiersprache, Bjarne Stroustrup, Addison-Wesley Visual C++, Frank Budszuhn, Addison-Wesley Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/2010 4
5 C++ vs. Java Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/2010 5
6 C++ vs. Java typisches Programm #include <iostreams.h> int main() { return 0; } import java.awt.*; class Test{ public static void main(string[] argv){ } } Dateinamen beliebig, Konvention *.cpp, *.h <Klassenname>.java generierter Code - Maschinencode - plattformabhängig - *.exe - Java-Byte-Code - plattformunabhängig - *.class Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/2010 6
7 C++ vs. Java bedingte Anweisungen, Schleifen, Verbundanweisungen, identisch Funktionen globale Funktionen möglich Felder int a[4]; int a[] = {1,2,3}; keine Überprüfung auf Array-Grenzen Konstanten const double pi=3.14; identisch Methoden müssen in einer Klasse stehen int a[] = new int[4]; int a[] = {1,2,3}; Felder sind Objekte, Überprüfung auf Array-Grenzen final double pi=3.14; Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/2010 7
8 C++ vs. Java (Variablen-) Deklaration keine Default-Werte int a[4]; Default-Werte int a[] = new a[4]; Speicherverwaltung durch den Programmierenden automatisch durch den Garbage Collector Eingabe- und Ausgabeanweisungen cin >> x; cout << x; x=iohelp.read(); System.out.println(x); Boolescher Datentyp bool boolean Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/2010 8
9 C++ vs. Java Type-Casting (explizite Konvertierung) a) (Typ) Ausdruck in C++ und Java erlaubt Beispiel: int a=3; double b=(double) a / 2; // b = 1.5 b) Typ (Ausdruck) nur in C++ erlaubt Beispiel: int a=3; double b= double(a) / 2; // b = 1.5 Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/2010 9
10 C++ vs. Java Zusätzliche Java-Funktionalität Automatische Speicherverwaltung Code ist (direkt) systemportabel Strings und Felder Applets Multitasking durch Thread-Modell Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
11 C++ vs. Java Zusätzliche C++-Funktionalität (1) Zeiger (Pointer) Kontrolle des Memory Management Templates Operator-Overloading Mehrfachvererbung Präprozessor Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
12 C++ vs. Java Zusätzliche C++-Funktionalität (2) Einschränkung des Wertebereichs in C++ per unsigned möglich z.b. int: bis unsigned int: 0 bis Symbolische Konstanten Präprozessorbefehl, erkennbar am # -Zeichen #define PI=3.14 (kein ; am Zeilenende) Typdeklaration Definiert neuen Namen für einen Datentyp typedef int Index; Index a=3; Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
13 Ein einfaches Programm - Quellcodes Java: class BV{ } public static void main(string[] argv){ System.out.println "C++ in der Bildverarbeitung!"; } C++: #include <iostream> using namespace std; int main(int argc){ cout << "C++ in der Bildverarbeitung!"; return 0; } Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
14 Ein einfaches Programm - Übersetzen Java: Dateiname: BV.java Übersetzen: javac BV.java Ausführen: java BV (Java Byte-Code) (Java Virtual Machine) C++: Dateiname: BV.cpp Übersetzen: cl /c BV.cpp Linken: link BV.obj cl BV.cpp Ausführen: BV Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
15 Klassen in C++ Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
16 Klassen in C++ Klassen in C++ = Deklaration + Implementierung Headerdatei (.h) Implementationsdatei (.cpp) Studierende.h: class Studierende{ }; Studierende.cpp: #include "Studierende.h" Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
17 Klassen in C++: Aufbau der Headerdatei Studierende.h: class Studierende{ Konstruktor Destruktor Methoden Attribute public: Studierende(); ~Studierende(); void setzematrikelnummer(int nummer); int gibmatrikelnummer(); private: int matrikelnummer; }; Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
18 Klassen in C++: Aufbau der Headerdatei Spezifizierung einer Klasse mit class Klassen sind immer public Konstruktoren und Destruktoren Konstruktoren: Instanziierung von Objekten Destruktoren: Löschen von instanziierten Objekten (~ vorangestellt) Deklaration von Methoden und Variablen (Instanz-) Variablen dürfen bei der Deklaration nicht initialisiert werden Modifier werden nicht separat spezifiziert Klassendefinition wird mit Semikolon beendet Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
19 Klassen in C++: Aufbau der Implementationsdatei Einbinden der Headerdatei mit include Durch den Klassennamen und dem Bereichsoperator :: wird die Zugehörigkeit zur Klasse gekennzeichnet Studierende.cpp: #include "Studierende.h" Studierende::Studierende(){} Studierende::~Studierende(){} void Studierende::setzeMatrikelnummer(int nummer){ matrikelnummer = nummer; } int Studierende::gibMatrikelnummer(){ return matrikelnummer; } Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
20 Klassen in C++: Aufbau der Implementationsdatei Präprozessoranweisung #include "Studierende.h bindet Headerdatei ein. Nennung von Fully Qualified Names z.b.: Studierende::Studierende() :: wird als Bereichsoperator (Scope Operator) bezeichnet inline-spezifikation möglich z.b.: inline int Studierende::gibMatrikelnummer(){ return matrikelnummer; } Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
21 Übersetzungsprozess von C++-Programmen Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
22 Übersetzen von C++-Programmen Übersetzungsprozess besteht aus drei Komponenten 1. Präprozessor: Vorverarbeitung des Quellcodes 2. Compiler: Überführt Quellcode in Objektcode 3. Linker: Fasst alle Objektdateien zu einem ausführbaren Programm zusammen Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
23 Übersetzen von C++-Programmen Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
24 Übersetzen von C++-Programmen Präprozessor Präprozessorbefehle beginnen mit dem #-Zeichen Sucht im Quellcode nach speziellen Befehlen, z.b. - #include einbinden von Headerdateien a) <name> Standard Libraries aus Systemverzeichnis z.b.: #include <iostream> b) name eigene Dateien aus Projektverzeichnis z.b.: #include "Studierende.h" -> Problem: mehrfache Deklarationen - #define führt textuelle Ersetzungen (Konstanten) aus. z.b.: #define pi #ifdef, #ifndef, Konditionales Kompilieren z.b.: #ifdef DEBUG #endif Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
25 Übersetzen von C++-Programmen Präprozessor -> Problem: mehrfache Deklarationen Lösung: Headerdatei um konditionalen Kopf erweitern z.b.: Studierende.h: #ifndef STUDIERENDE_H #define STUDIERENDE_H class Studierende{ }; #endif Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
26 Übersetzen von C++-Programmen Compiler Generiert aus dem vom Präprozessor vorverarbeiteten Quellcode den Objektcode. Maschinennahe Objektcodedatei kann noch offene Aufrufe enthalten und nicht ausgeführt werden. Überprüfung auf syntaktische Korrektheit - Fehlermeldungen z.b.: error C2065: 'h': nichtdeklarierter Bezeichner - Warnungen z.b.: warning C4244: 'Initialisierung': Konvertierung von 'double' in 'int', möglicher Datenverlust Objektcode wird nur erzeugt, sofern keine Fehler aufgetreten sind. Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
27 Übersetzen von C++-Programmen Linker Generiert (vollständig) ausführbares Programm Fasst die - Objektdateien des Projektes, - Code aus Standard Libraries und - zusätzliche Libraries zusammen Zwei mögliche Link-Modi - statisch - dynamisch Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
28 Programmieren in Visual Studio Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
29 C++-Programm mit Visual Studio Neues Projekt anlegen: Datei -> Neu -> Projekt Projekttyp festlegen Projektnamen und Verzeichnis auswählen Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
30 C++-Programm mit Visual Studio Initiales Arbeitsfenster der Entwicklungsumgebung Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
31 C++-Programm mit Visual Studio Klasse hinzufügen (Header- und Implementationsdatei) Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
32 C++-Programm mit Visual Studio Typ der Klasse auswählen, die hinzugefügt werden soll Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
33 C++-Programm mit Visual Studio Klassennamen festlegen Modifikator und Basisklasse (optional) bestimmen Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
34 C++-Programm mit Visual Studio Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
35 C++-Programm mit Visual Studio Ausführbares Programm erstellen - Kompilieren (Strg+F7) - Programm ausführen (Strg+F5) - Programm unter Debugger ausführen (F5) Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
36 C++-Programm mit Visual Studio Dateitypen von Visual-Studio Extension *.cpp *.h *.exe *.dsp *.dsw *.obj *.rc *.res C++-Quelldatei C++-Headerdatei Ausführbares Programm Bedeutung Informationen zum Projekt. Projekt kann über dsp- Datei geöffnet werden Informationen zum Arbeitsbereich. Dieser sollte auch über diese Datei geöffnet werden. Nicht eingebundene Kompilate (Objekt-Dateien) Ressourcen-Skriptdatei Binäre Ressourcendatei des Linkers Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
37 Ausgewählte C++-Konzepte Komplexe Datentypen Zeiger und Referenzen Vererbung STL Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
38 Komplexe Datentypen Benutzerdefinierter Datentyp mit eindeutigem Namen typedef struct{ double x, y, z; } vector3d; int main() { vector3d veca = {0.4, 4, 6.2}; vector3d vecb; vecb = veca; // vecb = {0.4, 4, 6.2} double a = veca.z; // a = 6.2 Zugriff auf Elemente mit. -Operator Bei Zuweisungen werden komplette Strukturen kopiert Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
39 Ausgewählte C++-Konzepte Komplexe Datentypen Zeiger und Referenzen Vererbung STL Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
40 Objekte instanziieren und löschen ProgrammStudierende.cpp: #include "Studierende.h" int main(int argc, char* argv[]){ Studierende* einstudent = new Studierende(); delete einstudent; } return 0; Instanziierung eines Objektes vom Typ Studierende Studierende*: Variablendeklaration einstudent: Zeiger auf Studierende new: Ruft Konstruktor auf und legt Objekt vom angegebenen Typ im Speicher an delete ruft Destruktor der Klasse auf und gibt den zuvor belegten Speicher wieder frei (kein Garbage Collector wie in Java) Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
41 Zeiger und Referenzen Anweisung: Studierende* einstudent = new Studierende(); Repräsentierung: 0x0000 0x1200 Studierende int matrikelnummer Speicher Studierende* einstudent = 0x1200 0xffff Klasseninstanz Zeiger Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
42 Zeiger und Referenzen Zeiger (Pointer): Variable, dessen Wert auf die Position (Speicheradresse) eines anderen Objektes zeigt. eigener Datentyp typisiert durch Zeichen * gekennzeichnet Beispiel: a) kein Zeiger: int a; b) mit Zeiger: int* a; Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
43 Zeiger und Referenzen Adresse Speicherstelle, die für ein Objekt zur Verfügung gestellt wird. Die Adresse wird bei der Objekt- Instanziierung und der damit verbundenen Bereitstellung des benötigten Speichers vergeben. Inhalt Wert (Daten), der für ein Objekt unter einer Adresse gespeichert wird. Initiale Belegung erfolgt durch den Konstruktor. Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
44 Zeiger und Referenzen Pointer: Pointer (Pointervariable) ist eine Variable in der eine Adresse gespeichert wird. Die Variable hat den identischen Typ wie die Variable, deren Adresse gespeichert wird. Dereferenzierungsoperator * : Zugriff auf den Wert, der in der Pointervariablen gespeicherten Adresse steht ( Wert, auf den der Pointer verweist ) Referenzoperator & : Liefert für eine Variable die zugehörige Speicheradresse Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
45 Zeiger und Referenzen Pointer-Deklaration Adresse Name int *iptr;??? iptr Pointer-Deklaration und Initialisierung Adresse Name int *iptr=0; NULL iptr Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
46 Zeiger und Referenzen Deklaration eines primitiven Datentyps Adresse Name int i=423; i Pointer-Initialisierung und Adressoperator Adresse Name int *iptr=0; iptr = &i; NULL iptr Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
47 Zeiger und Referenzen Vereinfachte grafische Repräsentierung Adresse Name i i 423 Adresse Name iptr iptr Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
48 Zeiger und Referenzen Initialisierung von Pointern int a = 423; a 423 int b = 78; b 78 int *ptr_1 = &b; ptr_1 int *ptr_2 = ptr_1; ptr_2 int *ptr_3 = &a; ptr_3 Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
49 Zeiger und Referenzen Pointer Aliasing: Zwei Pointer enthalten dieselbe Adresse a 423 *ptr_1 = *ptr_3; ptr_2 = ptr_3; b ptr_1 ptr_ ptr_3 Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
50 Zeiger und Referenzen Zeigervariablen können auch auf einen weiteren Zeiger verweisen Auch iteriete Pointer-Anwendungen sind möglich Jeder * -Operator im Ausdruck entspricht einer Dereferenzierung int a = 423; a 423 int *ptr = &a; ptr int **ptrptr = 0; ptrptr = &ptr; ptrptr NULL Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
51 Zeiger und Referenzen Anwendungsbeispiel #include <iostream> #include "Studierende.h" using namespace std; int main(int argc, char* argv[]){ Studierende* einstudent = new Studierende(); einstudent->setzematrikelnummer(88456); Studierende zweiterstudent; zweiterstudent.setzematrikelnummer(87393); Studierende* ptr_zweiterstudent = &zweiterstudent; cout << ptr_zweiterstudent << endl; Studierende* dritterstudent = NULL; dritterstudent->setzematrikelnummer(89263); delete einstudent; delete dritterstudent; return 0; } Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
52 Zeiger und Referenzen Zeiger einstudent, der auf Objekt vom Typ Studierende zeigt Über Operator -> (Dereferenzieren) Methode aufrufen ( es wird einem Zeiger gefolgt ) Studierende* einstudent = new Studierende(); einstudent->setzematrikelnummer(88456); zweiterstudent als (statische) Instanz Methodenaufruf für statische Instanzen über Punktoperator Studierende zweiterstudent; zweiterstudent.setzematrikelnummer(87393); Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
53 Zeiger und Referenzen Pointer auf statische Instanz über Referenzoperator & Studierende* ptr_zweiterstudent = &zweiterstudent; cout << ptr_zweiterstudent << endl; Zeiger für ein Objekt, der mit NULL initialisiert wird Methodenaufruf führt zu einem Laufzeitfehler (Exception) Studierende* dritterstudent = NULL; dritterstudent->setzematrikelnummer(89263); Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
54 Ausgewählte C++-Konzepte Komplexe Datentypen Zeiger und Referenzen Vererbung STL Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
55 Vererbung einfache Vererbung: Klasse Bachelor erbt von Klasse Studierende Vererbungsoperator : (entspricht extends in Java) Studierende Bachelor Studierende.h: class Studierende{ }; Bachelor.h: #include "studierende.h" class Bachelor : public Studierende{ public: Bachelor(); ~Bachelor(); }; Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
56 Vererbung Mehrfachvererbung: Klasse Bachelor erbt von Klassen Studierende und HiWi Studierende HiWi Bachelor Bachelor.h: #include "studierende.h" #include "HiWi.h" class Bachelor : public Studierende, public HiWi{ public: Bachelor(); ~Bachelor(); }; Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
57 Ausgewählte C++-Konzepte Komplexe Datentypen Zeiger und Referenzen Vererbung STL Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
58 STL Standard-Template-Library (kurz STL) Vordefinierte Templates für viele Anwendungsbereiche STL gliedert sich in drei Teilbereiche auf: 1.) Container: Speicherstrukturen, z.b. Bäume, Listen, 2.) Algorithmen: Operatoren für Container-Klassen, z.b. Sortieren einer Liste 3.) Iteratoren: Traversierungsoperatoren für Container-Klassen Einbinden der Headerdateien per include ohne Endung.h Beispiel: #include<list> Notwendigkeit des korrekten Namespace, geschieht durch die Anweisung using namespace std; Infos zur STL: Silicon Graphics Inc., Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
59 STL Anwendungsbeispiel: #include <list> #include "Studierende.h" using namespace std; int main(int argc, char* argv[]){ Studierende* student1 = new Studierende(); Studierende* student2 = new Studierende(); } list<studierende*> listestudierende; listestudierende.push_back(student1); listestudierende.push_back(student1); Einbinden der Headerdatei für die Container-Klasse list. Instanziierung einer Liste listestudierende, die Zeiger auf Objekte vom Typ Studierende speichern kann. Methode push_back fügt Zeiger auf Typ Studierende der Liste an. Vorkurs Informatik, Von Java nach C++, LS VII, TU Dortmund, WS 2009/
Von Java nach C++ Dr. Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund http://ls7-www.cs.uni-dortmund.de
Von Java nach C++ Dr. Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund http://ls7-www.cs.uni-.de Von Java nach C++, Lehrstuhl Informatik VII, TU Dortmund 1 Übersicht Einleitung Literatur
MehrVon Java nach C++ Frank Weichert, Heinrich Müller Informatik VII Universität Dortmund http://ls7-www.cs.uni-dortmund.de
Von Java nach C++ Frank Weichert, Heinrich Müller Informatik VII Universität Dortmund http://ls7-www.cs.uni-dortmund.de Von Java nach C++, LS VII, Universität Dortmund, SS 2006 1 Übersicht Einleitung Literatur
MehrC++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18
C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen
MehrCrashkurs C++ - Teil 1
Crashkurs C++ - Teil 1 Intro Speicherverwaltung Variablen, Pointer, Referenzen Felder statische & dynamische Allozierung Birgit Möller & Denis Williams AG Bioinformatik & Mustererkennung Institut für Informatik
MehrBetriebssystembau: Übungen. Betriebssystembau: Übungen. Betriebssystembau: Einführung C++ Literatur
Betriebssystembau: Übungen 2 SWS Tafel übung (hier :-)) und 2 SWS Rechnerübung Die Tafelübung vermittelt Grundlagen der PC-Hardware-Architektur Grundwissen zur Bearbeitung der Rechnerübungen C++-Programmierkenntnisse
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrC++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14
C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung
MehrC++ Teil 6. Sven Groß. 23. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 15
C++ Teil 6 Sven Groß 23. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 23. Nov 2015 1 / 15 Themen der letzten Vorlesung const-deklaration Referenzen Zeiger Felder Sven Groß (IGPM, RWTH Aachen) C++
MehrC++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 8. Mai 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai 2015 1 / 16 Themen der letzten Vorlesung Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung
MehrBetriebssystembau. 1. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Betriebssystembau 1. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Betriebssystembau:
MehrC++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
MehrC++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13
C++ Teil 7 Sven Groß 30. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 30. Nov 2015 1 / 13 Themen der letzten Vorlesung Zeiger, Felder (Wdh.) dynamische Speicherverwaltung Sven Groß (IGPM, RWTH Aachen)
MehrC++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.
MehrEinleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++
Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend
Mehr7. Übung Informatik II - Objektorientierte Programmierung
7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
MehrC++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung
MehrSoftware ubiquitärer Systeme 1. Übung
Software ubiquitärer Systeme 1. Übung http://ess.cs.uni-.de/de/teaching/ss2015/sus Horst Schirmeier http://ess.cs.tu-.de/~hsc AG Eingebettete System Informatik 12, TU Dortmund Überblick Organisatorisches
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrKurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung
Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend
MehrII.1.1. Erste Schritte - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.
MehrC++ Notnagel. Ziel, Inhalt. Programmieren in C++
C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt
MehrThema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen
1 Thema heute: Vererbung und Klassenhierarchien Abgeleitete Klassen Vererbung von Daten und Funktionen Virtuelle Funktionen 2 Vererbung oft besitzen verschiedene Datentypen einen gemeinsamen Kern Beispiel:
MehrSoftware ubiquitärer Systeme 1. Übung
Software ubiquitärer Systeme 1. Übung http://ess.cs.unidortmund.de/de/teaching/ss2013/sus/index.html Christoph Borchert http://ess.cs.tu-dortmund.de/~chb AG Eingebettete Systemsoftware Informatik 12, TU
MehrC++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!
Hello world! Java class HelloWorld { static public void main(string args) { System.out.println("Hello World!"); } } C #include main() { printf("hello World!\n"); } C++ #include using
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 1)
DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume
MehrEinführung in C ++ und die Objektorientierte Programierung
1/38 Einführung in C ++ und die Objektorientierte Programierung Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/38 Outline
MehrC++ Teil 7. Sven Groß. 26. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 18
C++ Teil 7 Sven Groß IGPM, RWTH Aachen 26. Nov 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 26. Nov 2014 1 / 18 Themen der letzten Vorlesung Referenzen Zeiger Felder dynamische Speicherverwaltung Sven
MehrMapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6.
Mapra: C++ Teil 4 Felix Gruber IGPM, RWTH Aachen 6. Mai 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mai 2015 1 / 22 Themen vom letzten Mal Kompilieren mit Makefiles Ein-/Ausgabe über Dateien
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
MehrEinführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
MehrZeiger, Arrays und Strings in C und C++
Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für
MehrDynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
MehrII.1.1. Erste Schritte - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
MehrPolymorphismus 44. Function.hpp. #include <string>
Polymorphismus 44 #include Function.hpp class Function { public: virtual ~Function() {}; virtual const std::string& get_name() const = 0; virtual double execute(double x) const = 0; }; // class
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrII.1.1. Erste Schritte - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 2)
DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11
Mehr9. Vektoren. (auch Felder/array)
9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
MehrPolymorphismus 179. Function.h. #include <string>
Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrPraxis der Programmierung
Template-Funktionen und -Klassen Einführung in Java Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Template-Funktionen 2 Minimumfunktion und offene Typen Aufruf
MehrObjektorientierte Programmierung mit C++ SS 2007
Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string
MehrProgrammierpraktikum 3D Computer Grafik
Dipl.Inf. Otmar Hilliges Programmierpraktikum 3D Computer Grafik Einführung in C++ Teil II: Klassen, Objekte, Funktionen und Vererbung. Funktionen [Rückgabetyp] [Name] ([Parameter]) { } Wichtig: Funktionen
MehrKap. 11 Objektorientierung: ein Beispiel
Kap. 11 Objektorientierung: ein Beispiel Dr. Norbert Spangler / Programmieren 2 26.12.2015 1 Grundprinzip der Datentypen und Klassen Name des Typs Elementare Typen int bool Klasse Name (frei wählbar) Daten
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
MehrC++ kompakt - Teil 1. Danke an Matthias Biedermann Markus Geimer
C++ kompakt - Teil 1 Danke an Matthias Biedermann Markus Geimer Programmorganisation (1) Ein C++ Projekt kann auf mehrere Quelldateien verteilt werden. Dabei muss in genau einer Quelldatei die Funktion
MehrSoftware ubiquitärer Systeme 2. Übung
Software ubiquitärer Systeme 2. Übung http://ess.cs.unidortmund.de/de/teaching/ss2013/sus/index.html Christoph Borchert http://ess.cs.tu-dortmund.de/~chb AG Eingebettete Systemsoftware Informatik 12, TU
MehrÜberblick. Peter Sobe 1
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 3. Grundlagen des Typkonzepts von C++ 4. Ziele der Objektorientierung 5. Objekt und Klasse, Elementfunktionen
MehrInformatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1
Informatik Vorlesung 08 Pointer (Dynamisch) 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Pointer (Zeiger) Dynam. Speicher Bisher: Speicherbedarf muss
Mehr7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor
7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor Das Programmbeispiel aus dem letzten Abschnitt läßt sich bisher nicht zufriedenstellend zu Ende bringen. Unerklärliche Abstürze und Fehlverhalten
MehrSoftware ubiquitärer Systeme 2. Übung
Software ubiquitärer Systeme 2. Übung http://ess.cs.uni-.de/de/teaching/ss2014/sus Christoph Borchert http://ess.cs.tu-.de/~chb AG Eingebettete System Informatik 12, TU Dortmund Überblick C++ Crashkurs
MehrC++ Teil 5. Sven Groß. 12. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 12. Nov 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 12. Nov 2014 1 / 16 Themen der letzten Vorlesung Eingabestrom, Verhalten von cin Namensräume Live Programming
MehrCrashkurs C++ Wiederholung
Crashkurs C++ Wiederholung #include int main(void) { int i, j; bool is_prime; for (j = 1; j < 1000; j += 2) { is_prime = true; for (i = 3; i
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1
Mehr7. Objektorientierung. Informatik II für Verkehrsingenieure
7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete
MehrC++ Klassen, Vererbung. Philipp Lucas. Sebastian Hack. Wintersemester 2008/09. saarland.
C++ Klassen, Vererbung Philipp Lucas phlucas@cs.uni-sb.de Sebastian Hack hack@cs.uni-sb.de Wintersemester 2008/09 saarland university computer science 1 Inhalt Klassen in C++ Sichtbarkeit Erzeugen von
MehrProgrammieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden
Einleitende Bemerkungen Einleitende Bemerkungen Aspekte Aufbau von sinnvollen Klassenhierarchien Verwaltung von Objekten unterschiedlichen Typs Mitarbeiter Besonderheiten der Anwendung jeder Angehörige
MehrPraxis der Programmierung
Arrays, Pointerarithmetik, Konstanten, Makros Institut für Informatik und Computational Science Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Arrays (Felder/Vektoren) 2 Arrays: Motivation
MehrTag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrJava Referenzdatentypen genauer betrachtet
Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen
MehrKlausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrC++ Teil 5. Sven Groß. 16. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16
C++ Teil 5 Sven Groß 16. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 16. Nov 2015 1 / 16 Themen der letzten Vorlesung Namensräume Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) 1. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Überblick Organisatorisches
MehrZeiger und dynamischer Speicher
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: 09.12.2013, 07:49 Uhr
MehrVorlesungsprüfung Programmiersprache 1
Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
MehrPeter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp
Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden ffl mitp Inhaltsverzeichnis Einleitung 19 1 Grundlagen 21 Entwicklung und Eigenschaften von C + + 22 Objektorientierte Programmierung
MehrKlassen als Datenstrukturen
Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung
MehrKapitel 13. Definition von Klassen. OOP Thomas Klinker 1
Kapitel 13 Definition von Klassen OOP Thomas Klinker 1 OOP Thomas Klinker 2 Datenabstraktion Der Mensch abstrahiert, um komplexe Sachverhalte darzustellen. Dinge und Vorgänge werden auf das wesentliche
MehrVisuelle Kryptographie. Anwendung von Zufallszahlen
Visuelle Kryptographie Anwendung von Zufallszahlen Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken, so dass Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken,
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) 1. Übung https://ess.cs.tu-dortmund.de/de/teaching/ws2017/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de https://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrKlausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Geben
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ II
Einführung in den Einsatz von Objekt-Orientierung mit C++ II ADV-Seminar Leiter: Mag. Michael Hahsler Objektorientierung in C++ Klassen Vererbung Operatoren überladen Pointer Dynamische Speicherverwaltung
MehrPraxis der Programmierung
Funktionen, Header-Dateien, Pointer Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Organisatorische Bemerkungen 2 Modul Programmierung Pflichtmodul für BSc INF
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrBetriebssystembau. 1. Übung. Olaf Spinczyk und Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Betriebssystembau 1. Übung Olaf Spinczyk und Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Inhalt Compiler/Editor Klassendeklaration
MehrC++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
MehrGrundlagen der Informatik 11. Zeiger
11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große
MehrFunktionales C++ zum Ersten
Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08
MehrProgrammierkurs C++ Kapitel 6 Module Seite 1
Programmierkurs C++ Kapitel 6 Module Seite 1 (Quell-)Module Unter einem Modul versteht man einen Teil des Programms, der eigenständig übersetzt werden kann. In der Syntax der Programmiersprachen werden
MehrPrüfung aus PROGRAMMIEREN (2) (C++) (WS 2002/03)
Fachhochschule München Bereich Datentechnik Fachbereich Elektrotechnik und Informationstechnik A. Irber / R. Thomas Prüfung aus PROGRAMMIEREN (2) (C++) (WS 2002/03) Arbeitszeit 90 Minuten 27.Januar 2003
Mehr