Repetitorium Programmieren I + II
|
|
- Henriette Fuhrmann
- vor 5 Jahren
- Abrufe
Transkript
1 Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 24. September 2012
2 Agenda 1 Funktionen Aufbau und Anwendung Call by Value Call by Reference Überladen von Funktionen Default Parameter 2 Pointer Zeigervariable 3 Klassen 4 Funktionszeiger
3 Funktionen Aufbau der Funktion Anwendung i n t summe ( i n t a, i n t b ) r e t u r n a+b ; Datentyp : erwarteter Rückgabewert (z.b. int = Ganzzahl, void = nix) Funktionsname: damit wird im Programm die Funktion aufgerufen Parameter in (): werden in der Funktion verwendet
4 Funktionen Anwendung i n t summe ( i n t a, i n t b ) i n t c ; c=a+b ; r e t u r n ( c ) ; i n t main ( )... cout << summe ( 2 5, 1 0 ) ; // A u f r u f d e r F u n k t i o n...
5 Funktionen Call By Value i n t main ( ) i n t a = 10, b = 20 cout << summe( a, b ) ; // A u f r u f d e r F u n k t i o n... // a und b s i n d u n v e r ä n d e r t i n t summe( i n t x, i n t y ) // Beginn d e r F u n k t i o n x++; y++; r e t u r n x+y ; Es werden Kopien der Übergabeparameter angefertigt. Somit wird sichergestellt das die Variablen der aufrufenden Funktion nicht verändert werden können.
6 Funktionen Call By Reference v o i d swap ( i n t &a, i n t &b ) i n t tmp=a ; a=b ; b=tmp ; ; Die übergeben Variablen werden direkt übergeben. Es ist nicht möglich Konstanten als Parameter anzugeben (z.b. swap(1, 2);)
7 Funktionen Call By Reference i n t main ( ) i n t a = 10, b = 20 cout << summe( a, b ) ; // A u f r u f d e r F u n k t i o n... // a und b s i n d v e r ä n d e r t!!! i n t summe( i n t &x, i n t &y ) // Beginn d e r F u n k t i o n x++; y++; r e t u r n x+y ; Achtung!!! Variablen die als Referenz übergeben werden, werden verändert!!!
8 Funktionen Call By Reference (ohne Veränderung) i n t main ( ) i n t a = 10, b = 20 cout << summe( a, b ) ; // A u f r u f d e r F u n k t i o n i n t summe( c o n s t i n t &x, c o n s t i n t &y ) // Beginn d e r F u n k t i o n x++; // C o m p i l e r f e h l e r y++; // C o m p i l e r f e h l e r r e t u r n x+y ;
9 Funktionen Inline Funktionen i n l i n e i n t summe( i n t x, i n t y ) r e t u r n x+y ; i n t main ( ) cout << summe ( 4 2, 23) << e n d l ; Compiler ersetzt Inline Funktionen an passender Stelle. Dies kann u.u. schneller sein als der Funktionsaufruf inkl. Parameterübergabe.
10 Funktionen Funktionen mit statischen Variablen i n t s t a t i c F u n c t i o n ( i n t x ) s t a t i c i n t a = 5 ; r e t u r n a++ + x ; i n t main ( ) cout << s t a t i c F u n c t i o n ( 1 ) << e n d l ; // Ausgabe : 6 cout << s t a t i c F u n c t i o n ( 1 ) << e n d l ; // Ausgabe :? cout << s t a t i c F u n c t i o n ( 1 ) << e n d l ; // Ausgabe :? Statische Variablen haben einen festen Platz im Speicher und werden nur beim ersten Aufruf initialisiert. Falls kein Wert angegeben ist, erfolgt die Initialisierung mit 0.
11 Funktionen Funktionen mit gleichem Namen können überladen werden. Dazu müssen sich die Funktionen ausreichend unterscheiden Überladene Funktionen v o i d somefunction ( ) ; // B a s i s i n t somefunction ( ) ; // E r r o r v o i d somefunction ( i n t ) ; // ok v o i d somefunction ( i n t, double ) ; // ok v o i d somefunction ( c o n s t i n t ) ; // E r r o r v o i d somefunction ( i n t &) ; // E r r o r v o i d somefunction ( c o n s t i n t &) ; // E r r o r
12 Funktionen Funktionen können Default-Parameter übergeben werden, sofern beim Aufruf keine Parameter spezifiziert werden Default Parameter i n t g e t V a l u e ( i n t x = 42) r e t u r n x ; i n t main ( ) cout << g e t V a l u e ( ) << e n d l ; // Ausgabe : 42 cout << g e t V a l u e ( 1 0 ) << e n d l ; // Ausgabe : 10 r e t u r n 0 ;
13 Funktionen Default Parameter v o i d a n o t h e r F u n c t i o n ( i n t x =42, double y =10.5, f l o a t z =17.3) cout << x << e n d l ; cout << y << e n d l ; cout << z << e n d l ; i n t main ( ) a n o t h e r F u n c t i o n ( ) ; a n o t h e r F u n c t i o n ( 1 0, 9. 5 ) ; r e t u r n 0 ;
14 Pointer Pointer (Zeiger) werden zur indirekten Adressierung benutzt Anwendung i n t i = 5 ; i n t p i ; p i = &i ; i n t p i 1 = &i ;
15 Pointer Anwendung i n t i = 5 ; cout << &i << e n d l ; cout << i << e n d l ; i n t p i ; p i = &i ; cout << &p i << e n d l ; cout << p i << e n d l ; cout << p i << e n d l ; i n t p i 1 = p i ; cout << &p i 1 << e n d l ; cout << p i 1 << e n d l ; cout << p i 1 << e n d l ; i n t p i 2 = &p i ; cout << &p i 2 << e n d l ; cout << p i 2 << e n d l ; cout << p i 2 << e n d l ; cout << p i 2 << e n d l ;
16 Pointer Können den Wert des Objekts, auf das sie zeigen, lesen Anwendung i = p i + 2 ; // i = 7 cout << p i ; // Ausgabe : p i = 7 können den Wert des Objekts, auf das sie zeigen, ändern Anwendung p i = i + 2 ; // Ausgabe : p i = 9 p i += p i ; // Ausgabe : p i = 18 können zur Laufzeit neue Adressen zugewiesen bekommen, um auf andere Objekte zu zeigen Anwendung p i 1 = p i ;
17 Pointer Anwendung // V e r g l e i c h d e r Objekt Werte : cout << ( p i == p i 1 ) ; // t r u e // V e r g l e i c h d e r Z e i g e r Werte : cout << ( p i == p i 1 ) ; // t r u e // V e r g l e i c h d e r Z e i g e r A d r e s s e n : cout << (& p i == &p i 1 ) ; // f a l s e
18 Pointer können zur Laufzeit Adressen von Objekten zugewiesen bekommen, die erst zur Laufzeit erzeugt werden Anwendung p i 1 = new i n t ; p i 1 = 2 0 ; cout << p i 1 ; // Ausgabe : 20 d e l e t e p i 1 ; // g i b t S p e i c h e r f r e i, l ö s c h t a b e r n i c h t p i 1 p i 1 = p i ;
19 Pointer bekommen zur Compile-Zeit nur Speicher für eine Objektadresse, aber nicht den Speicher für das Objekt selbst zugewiesen. Sie werden vom C++ Compiler nicht initialisiert. Falsch double pd ; pd = 2. 0 ; Richtig double pd = 0 ; Absturz zur Laufzeit vorprogrammiert und evtl. nicht reproduzierbar Fehler schwer zu finden
20 Pointer unterliegen der Typkontrolle durch den Compiler Anwendung i n t p i = 0 ; i n t i = 7 ; double pd = 0 ; p i = &i ; // Geht, b e i d e vom Typ i n t Absturz pd = &i ; // Absturz, da pd d o u b l e und i i n t i s t pd = 0xB001 ; // Absturz, da pd d o u b l e und Wert vom Typ l o n g pd = p i ; // Absturz, da pd d o u b l e und p i i n t i s t Typkontrolle aushebeln mit explizitem cast Anwendung pd = r e i n t e r p r e t c a s t < double > ( pv ) ;
21 Pointer Pointer Adressen i n t i = 4 2 ; // i l i e g t b e i 0xB000 i n t p i = &i ; // p i z e i g t a u f 0xB000 ( p i )++; // i = 4 3 ; p i ++; // z ä h l t A d r e s s e hoch, p i z e i g t nun a u f 0xB004 const Pointer (Zeiger auf Konstante) c o n s t i n t i = 4 2 ; c o n s t i n t j = 2 3 ; i n t p i = &i ; // C o m p i l e r f e h l e r c o n s t i n t p i = &i ; // geht p i = &j ; // geht Der Pointer zeigt auf eine Konstante. Wohin der Pointer zeigt kann verändert werden, nicht aber der Inhalt.
22 Pointer const Pointer (konstante Zeiger auf Variablen) i n t a = 42, b=23; i n t c o n s t pa = &a ; pa = &b ; // C o m p i l e r f e h l e r pa = 1 0 ; // geht, I n h a l t von a=10 Der Pointer zeigt auf eine Variable deren Inhalt sich ändern lässt, allerdings kann der Pointer nicht auf andere Speicherstellen zeigen.
23 Pointer const Pointer (konstante Zeiger auf Variablen / Konstanten) i n t a = 4 2 ; c o n s t i n t b=23; c o n s t i n t c o n s t p=&a ; // geht cout << p << e n d l ; // Ausgabe : 42 p = 1 7 ; // geht n i c h t a = 1 7 ; // geht b = 1 7 ; // geht n i c h t Der Pointer zeigt auf eine Variable oder Konstante deren Inhalt sich nicht über den Pointer ändern lässt. Der Pointer kann nicht auf andere Speicherstellen zeigen.
24 Pointer Anwendung i n t main ( ) Konto pkonto1 = 0, pkonto2 = 0, pkonto3 = 0 ; // Dynamisch O b j e k t e e r z e u g e n pkonto1 = new Konto ; pkonto1 >setname ( Max ) ; // K o n s t r u k t o r mit 3 Parametern a u f r u f e n pkonto2 = new Konto ( M o r i t z, 38923, ) ; // Kopie von Konto2 e r z e u g e n pkonto3 = new Konto ( pkonto2 ) ; // S p e i c h e r w i e d e r f r e i g e b e n d e l e t e pkonto1 ; d e l e t e pkonto2 ; d e l e t e pkonto3 ;
25 Klasse EineKlasse.h c l a s s E i n e K l a s s e p u b l i c : E i n e K l a s s e ( ) ; // d e r D e f a u l t K o n s t r u k t o r E i n e K l a s s e ( i n t ) ; // w e i t e r e r K o n s t r u k t o r mit Parameter E i n e K l a s s e ( E i n e K l a s s e& a ) ; // Copy K o n s t r u k t o r E i n e K l a s s e ( ) ; // d e r D e s t r u k t o r ; i n t einemethode ( i n t ) ; i n t nocheinemethode ( i n t x=42) ; // Methode mit ( D e f a u l t ) // Parameter p r i v a t e : i n t m e i n A t t r i b u t ;
26 Klasse EineKlasse.cpp #i n c l u d e E i n e K l a s s e. h E i n e K l a s s e : : E i n e K l a s s e ( ) E i n e K l a s s e : : E i n e K l a s s e ( i n t param ) m e i n A t t r i b u t = param ; E i n e K l a s s e : : E i n e K l a s s e ( ) i n t E i n e K l a s s e : : einemethode ( i n t x ) //.. do something i n t E i n e K l a s s e : : nocheinemethode ( i n t x ) //.. do something
27 Klasse - Initialisierungsliste EineKlasse.h c l a s s E i n e K l a s s e p u b l i c : E i n e K l a s s e ( i n t einx =0, i n t einy =0) : x ( einx ), y ( einy ) // some code p r i v a t e : i n t x, y ; ; Main.cpp #i n c l u d e E i n e K l a s s e. h i n t main ( ) E i n e K l a s s e meinobjekt ; E i n e K l a s s e meinobjekt1 ( 2 3, 42) ;
28 Klasse - statische Members EineKlasse.h c l a s s E i n e K l a s s e p u b l i c : E i n e K l a s s e ( i n t ) ; E i n e K l a s s e ( ) ; s t a t i c i n t count ; p r i v a t e : i n t member ; ; EineKlasse.cpp i n t E i n e K l a s s e : : count = 0 ; E i n e K l a s s e : : E i n e K l a s s e ( i n t x = 0) : member ( x ) E i n e K l a s s e : : count++; E i n e K l a s s e : : E i n e K l a s s e ( ) E i n e K l a s s e : : count ;
29 Klasse - statische Members Main.cpp - Zugriff auf public static Members #i n c l u d e E i n e K l a s s e. h i n t main ( ) cout << E i n e K l a s s e : : count << e n d l ; // Ausgabe : 0 E i n e K l a s s e meinobjekt1 ; E i n e K l a s s e meinobjekt2 ; cout << E i n e K l a s s e : : count << e n d l ; // Ausgabe : 2 r e t u r n 0 ; Achtung!!! Klappt aber nur für public Members, nicht für private!
30 Klasse - statische Methoden EineKlasse.h - private static Members c l a s s E i n e K l a s s e p u b l i c : s t a t i c i n t getcount ( ) ;... p r i v a t e : i n t member ; s t a t i c i n t count ; ; Main.cpp i n t main ( ) cout << E i n e K l a s s e : : getcount ( ) << e n d l ; // Ausgabe : 0 E i n e K l a s s e meinobjekt ; cout << E i n e K l a s s e : : getcount ( ) << e n d l ; // Ausgabe : 1
31 Klasse - statische Methoden EineKlasse.h - private static Members c l a s s E i n e K l a s s e p u b l i c : s t a t i c i n t getcount ( ) ;... p r i v a t e : i n t member ; s t a t i c i n t count ; ; EineKlasse.cpp... i n t E i n e K l a s s e : : getcount ( ) member = 4 2 ; // C o m p i l e r f e h l e r r e t u r n E i n e K l a s s e : : count ;...
32 Klasse - Mehrfacheinbindung (#include guard) EineKlasse.h #i f n d e f EINEKLASSE H #d e f i n e EINEKLASSE H c l a s s E i n e K l a s s e p u b l i c : ;... #e n d i f EineKlasse.h - Alternative #pragma once // non s t a n d a r d
33 Funktionen Function Pointer - Pointer auf Funktionen // F u n c t i o n P o i n t e r a l s Parameter v o i d p r i n t ( s t r i n g a, s t r i n g b, s t r i n g ( f u n c ) ( s t r i n g, s t r i n g ) ) // A u f r u f d e r übergebenen F u n k t i o n cout << ( f u n c ) ( a, b ) << e n d l ; Diese print-funktion bekommt einen Function Pointer auf eine andere Funktion (Platzhaltername func) übergeben, die zwei Strings als Parameter erhält und einen String zurückliefert.
34 Funktionen Function Pointer s t r i n g f u n k t i o n 1 ( s t r i n g e i n s, s t r i n g z w e i ) r e t u r n e i n s + + z w e i ; s t r i n g f u n k t i o n 2 ( s t r i n g e i n s, s t r i n g z w e i ) r e t u r n z w e i + + e i n s ; Diese Funktionen erfüllen die Voraussetzungen, um von der gezeigten print-funktion genutzt zu werden.
35 Funktionen Function Pointer - Anwendung i n t main ( ) s t r i n g wort1 = H a l l o, wort2 = Welt ; // A d r e s s e d e r gewünschten F u n k t i o n d i r e k t übergeben... p r i n t ( wort1, wort2, &f u n k t i o n 1 ) ; // Ausgabe : H a l l o Welt p r i n t ( wort1, wort2, &f u n k t i o n 2 ) ; // Ausgabe : Welt H a l l o //... o d e r w i e d e r e i n e n F u n c t i o n P o i n t e r e r s t e l l e n. s t r i n g ( f u n c t i o n P t r ) ( s t r i n g, s t r i n g ) = &f u n k t i o n 1 ; p r i n t ( wort1, wort2, f u n c t i o n P t r ) ; // Ausgabe : H a l l o Welt f u n c t i o n P t r = &f u n k t i o n 2 ; p r i n t ( wort1, wort2, f u n c t i o n P t r ) ; // Ausgabe : Welt H a l l o
36 Funktionen Achtung! Function Pointer können nur dann wie beschrieben verwendet werden, wenn die Funktion, auf die der Pointer zeigt, keine Methode einer Klasse oder statische Methode einer Klasse ist. Wenn die verwendeten Funktionen nicht-statische Medthoden einer Klasse sind, mess angegeben werden, zu welcher Klasse und welchem Objekt die Methode gehört.
37 Funktionen Function Pointer bei nicht-statischen Methoden c l a s s K l a s s e p u b l i c : s t r i n g f u n k t i o n 1 ( s t r i n g e i n s, s t r i n g z w e i )... s t r i n g f u n k t i o n 1 ( s t r i n g e i n s, s t r i n g z w e i )... // Angabe des Klassennamens b e i d e r D e f i n i t i o n des FuncPtr v o i d p r i n t ( s t r i n g a, s t r i n g b, s t r i n g ( K l a s s e : : f u n c ) ( s t r i n g, s t r i n g ) ) cout << ( t h i s > f u n c ) ( a, b ) << e n d l ; ; i n t main ( ) K l a s s e neu ; s t r i n g wort1 = H a l l o, wort2 = Welt ; // Angabe des Klassennamen f ü r d i e F u n c t i o n P o i n t e r neu. p r i n t ( wort1, wort2,& K l a s s e : : f u n k t i o n 1 ) ; // H a l l o Welt s t r i n g ( K l a s s e : : f P t r ) ( s t r i n g, s t r i n g ) = &K l a s s e : : f u n k t i o n 2 ; neu. p r i n t ( wort1, wort2, f P t r ) ; // Welt H a l l o
Repetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatorüberladung 2 Pointer Zeigervariable 3 CopyConstructor 4 Listen 5 Array String 6 STL Container
MehrC++ Klassen weitere Funktionen
C++ Klassen weitere Funktionen Übersicht static Elemente const Elemente Zusätzliches zu Konstruktoren Kopier-Konstruktor Konvertierung-Konstruktor Initialisierungslisten Friend Funktionen 2 Statische Klassenkomponenten
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
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 Ablauf Was sind Funktionen/Methoden
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
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
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
MehrMethoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only
Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer
MehrGrundlagen der Objektorientierten Programmierung - Methoden -
Methoden In ihrem formalen Aufbau entsprechen Java-Methoden den Funktionen in C und C++. Eine Methode dient dazu, eine häufig benötigte Folge von Anweisungen unter einem Namen zusammenzufassen und zum
MehrMethoden (fortgeschritten) in C# - 1
Methoden (fortgeschritten) in C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Opertatoren Überladung 2. delegate 3. Anonyme Methoden delegate Lamda Ausdruck-Lamdas Anweisung-Lamdas Variablenbereich
MehrProf. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
MehrKonstruktor/Destruktor
1/23 Konstruktor/Destruktor Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/23 Outline 1 2 3/23 Inhaltsverzeichnis 1 2
MehrVorkurs Informatik: Erste Schritte der Programmierung mit C++
Vorkurs Informatik WS 14/15 Vorkurs Informatik: Erste Schritte der Programmierung mit C++ Arne Nägel, Andreas Vogel, Gabriel Wittum Lehrstuhl Modellierung und Simulation Goethe-Center for Scientific Computing
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrÜberblick. 6. Konstruktor und Destruktor - obligatorische Elementfunktionen einer Klasse
Überblick 1. Einführung C++ / Entwicklung/ Sprachfamilie 2. Nicht objektorientierte Erweiterungen von C 2.1 Das Ein-/Ausgabekonzept von C++ 2.2 Referenzen in C++ 2.3 Heap-Allokatoren in C++ 3. Grundlagen
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts
MehrC++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11
C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen
MehrInformatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 9 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Nachbesprechung Übung 7 Besprechung/Vertiefung der Vorlesung Vorbesprechung Übung 9 Aufgabe 1:
MehrArrays. Einleitung. Deklarieren einer Array Variablen
Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt
MehrInformatik II Übung 05. Benjamin Hepp 3 April 2017
Informatik II Übung 05 Benjamin Hepp benjamin.hepp@inf.ethz.ch 3 April 2017 Java package Hierarchie import.. nur noetig um Klassen aus anderen Packeten zu importieren Es kann auch immer der vollstaendige
MehrProgrammierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und
Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und 17.6.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine
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
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
Mehr6 ZEIGER UND REFERENZEN - ALLGEMEINES
6 ZEIGER UND REFERENZEN - ALLGEMEINES Leitideen: Zeiger sind Adressen mit zusätzlicher Typinformation über das dort gespeicherte Objekt. Die Vereinbarungssyntax soll der Ausdruckssyntax entsprechen und
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
MehrObjektorientierung (OO)
Objektorientierung (OO) Objekte haben Zustände (oder Eigenschaften, Attribute) und Verhalten Zustände: Objektvariablen (in Java auch fields) Verhalten (oder Aktionen): Methoden (methods, Funktionen) members
MehrC++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer
MehrGrundlagen der Informatik 9. Funktionen II
9. Funktionen II Wiederholung Parameterübergabe Funktionsparameter Statische Variablen Inline Funktionen Überladen von Funktionen Templates in Funktionen Rekursion in Funktionen Testen von Funktionen Grundlagen
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
MehrTyp : void* aktuelle Parameter Pointer von beliebigem Typ
2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben
Mehr2. Unterprogramme und Methoden
2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrAllgemeines - Prinzipien
OOP - Prinzipien Allgemeines - Prinzipien OO modelliert die reale Welt als System interagierender Objekte Objekt = gedankliche oder reale Einheit in der Umwelt und/oder in Software Klar definierte Schnittstellen
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
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
Mehr1.4. Funktionen. Objektorientierte Programmierung mit C++
mehrfache Deklarationen sind erlaubt für jede Funktion muss es (GENAU) eine Definition geben, ansonsten linker error [the one definition rule ODR] Deklarationen in *.h - Files, Definitionen in *.cpp -
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,
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
MehrJava Einführung Methoden. Kapitel 6
Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden
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
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
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrC++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16
C++ Teil 4 Sven Groß IGPM, RWTH Aachen 30. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 4 30. Apr 2015 1 / 16 Themen der letzten Vorlesung Funktionen: Definition und Aufruf Wert- und Referenzparameter,
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrWichtige Prinzipien von C#
Wichtige Prinzipien von C# Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Dokumentationskommentare 2. Gültigkeit (Scope) 3. namespace & using 4. Methodenüberladung 5. Wert- & Referenztyp 6. null
Mehr7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});
S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
MehrProgrammieren in C++ Klassen
Programmieren in C++ Klassen Inhalt Klassen (vertieft) Destruktor Konstruktoren Move-Semantik und Rechtswert-Referenzen (C++11) C++11 Features Prof. Dr. C. Stamm Programmieren in C++, FS 13 4-2 Implementierung
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
MehrZeiger (engl. Pointer)
Zeiger (engl. Pointer) Zeiger Ein Zeiger (engl. Pointer) speichert eine Adresse, unter der ein Wert im Speicher des Computers gespeichert werden kann. Eine Variable im Gegensatz speichert einen Wert. Der
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)
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 9. Dezember 2015 Wiederholung Referenzdatentypen reference [0] M datatype
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
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
MehrJava I Vorlesung 6 Referenz-Datentypen
Java I Vorlesung 6 Referenz-Datentypen 7.6.2004 Referenzen this, super und null Typkonvertierung von Referenztypen Finale Methoden und Klassen Datentypen in Java In Java gibt es zwei Arten von Datentypen:
MehrInformatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 7 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Nachbesprechung Übung 5 Besprechung/Vertiefung der Vorlesung Vorbesprechung Übung 7 Aufgabe 1:
MehrPVK Informatik I 1.Teil. Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen
PVK Informatik I 1.Teil Grundlagen Variablen Operatoren Fallunterscheidung Schleifen Kurzschreibweise Pointer Array Dynamische Strukturen Funktionen 1 Grundlagen #include #include using
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
MehrProgrammierkurs C++ Datenstrukturen Seite 1
Programmierkurs C++ Datenstrukturen Seite 1 3 Datenstrukturen 3.1 Arrays Zur Wiederholung als Strukturelement der Programmierung gehört auf der Seite der Datenstrukturen die Liste. Eine Liste kann auf
MehrStatische und Nichtstatische Methoden Properties/ Eigenschaften
Statische und Nichtstatische Methoden Properties/ Eigenschaften Statische Methoden Definition und Merkmale von Properties Modifizierer Beispiele Nebeneffekte Dr. Beatrice Amrhein Statische / Nichtstatische
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
MehrInformatik II Übung 5
Informatik II Übung 5 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 27.03.2013
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse
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
MehrBetriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2)
Betriebssysteme, Rechnernetze und verteilte Systeme 1 Crashkurs C (2) Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/
MehrExceptions und Vererbung
Exceptions und Vererbung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter 2. Exceptions Eigene Exceptions Handling
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
Mehr2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)
2. Methoden n Generelles zum Aufruf von Methoden n Parameterübergabemechanismen (call by value, call by reference) n Speicherorganisation bei Methodenaufruf und Parameterübergabe (Laufzeitkeller) n vararg
MehrEinleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders
Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1
MehrHSR Rapperswil 2001 Markus Rigling. Programmieren: Templates Auflage
HSR Rapperswil 2001 Markus Rigling Programmieren: Templates 1 1. Auflage Inhaltsverzeichnis: Templates.1 1. Verwendung 3 2. Erstellen einer Templateklasse. 3 3. Faustregel zum Erstellen eines Klassentemplates..
Mehrpue13 January 28, 2017
pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern
MehrFunktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
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
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
MehrVariablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel
4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen
MehrVariablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung
Variablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung Einfache Variablen Typen int, long, short, unsigned bool char float,
MehrProgrammieren - C++ Templates
Programmieren - C++ Templates Reiner Nitsch r.nitsch@fbi.h-da.de Was sind Templates? C++ Templates ermöglichen generische Programmierung. Das ist Programmierung unabhängig vom speziellen Objekt-Typ Templates
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
MehrProgrammieren in Java
Ein Projekt 2 Wiederholung: new-operator Werte nicht-primitiver Datentypen müssen mit new erzeugt werden Es gibt keine Möglichkeit primitive Daten mit new zu erzeugen Beispiele int[] myarray = new int[]
MehrHydroinformatik I: Referenzen und Zeiger
Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 06. Januar
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
Mehr6. Funktionen, Parameterübergabe
6. Funktionen, Parameterübergabe GPS-6-1 Themen dieses Kapitels: Begriffe zu Funktionen und Aufrufen Parameterübergabearten call-by-value, call-by-reference, call-by-value-and-result in verschiedenen Sprachen
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
MehrAufbau von Klassen. class punkt {...
Einführung in C++ Aufbau von Klassen Eine wird mit dem Schlüsselwort class eingeleitet, und endet mit einem Semikolon. Der Inhalt wird zwischen geschweiften Klammern geschrieben. class punkt {... ; Im
MehrKlassen. Kapitel Klassendeklaration
Kapitel 4 Klassen Wir kommen nun zu einem sehr wichtigen Aspekt der OOT: zu den Klassen. Eine Klasse ist eine vom Benutzer definierte Datenstruktur, eine Sammlung von Variablen (unterschiedlichen Typs)
MehrKapitel 10 Delegationsvariablen
Kapitel 10 Delegationsvariablen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Wie werden
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
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
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrEinführung in die Programmierung zusammengesetzte Datentypen, dynamischer Speicher
Einführung in die Programmierung zusammengesetzte Datentypen, dynamischer Speicher Arvid Terzibaschian 1 Zusammengesetzte Datentypen 2 Wozu zusammengesetzte Datentypen? Anforderung: Sie sollen ein Kundenverzeichnis
MehrProgrammieren in C++
Programmieren in C++ SS 2012 Vorlesung 5, Dienstag 5. Juni 2012 (Klassen, Objekte, Methoden, new & delete) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik Universität
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.
MehrC++ - Operatoren. Eigene Klassen mit neuen Funktionen
C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,
MehrJava Einführung Klassendefinitionen
Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse
Mehr