Funktionen: Rückgabewert
|
|
|
- Astrid Scholz
- vor 7 Jahren
- Abrufe
Transkript
1 Funktionen: Rückgabewert Jede Funktion in C++ (außer Konstruktoren und Destruktoren siehe später) MUSS einen Rückgabewert-Typ vereinbaren. Gibt sie nichts zurück, muss der Rückgabetyp void sein. Jede return-anweisung sollte einen geeigneten Rückgabewert definieren. Entspricht er nicht dem Typ der Funktion, wird er in diesen umgewandelt (bzw. es ist ein Fehler, wenn das nicht möglich ist!). Die Typangabe auto als Rückgabetyp ist seit C++11 in Funktionsdefinitionen (nicht aber in Funktionsdeklarationen) erlaubt und seit C++14 vereinfacht nutzbar. Der Typ der Funktion wird in diesem Fall vom Compiler aus der (den) return-anweisung(en) bestimmt. double f() return 1.0; double f() return 1; auto f() return 1; // Achtung, es wird 1.0 zurückgegeben // seit C++14 in dieser Form in Funktionsdefinitionen erlaubt // f() ist dadurch vom Typ int, es wird 1 zurückgegeben Funktionen: Wert-Übergabe Funktionen können vom Aufrufer Werte erhalten, mit denen sie Berechnungen durchführen. Die Funktionsdefinition (oder deklaration) muss diese formalen Argumente vollständig definieren und bei allen Aufrufen müssen in den Klammern () entsprechende aktuelle Argumente angegeben sein. Sollte der Argument-Typ beim Aufrufer nicht dem Typ der Funktionsdefinition entsprechen, wird das Argument in diesen konvertiert. Ist das nicht möglich, ist das ein Fehler und das Programm wird nicht kompiliert: int f(int a, int b) return a+b;
2 Bei der Wertübergabe steht nur der Typ des Arguments ohne Ampersand & da. Werden Variable als Argument an eine Funktion per Wert übergeben, besitzen sie nach dem Funktionsaufruf immer noch den alten Wert, sie können also von der Funktion nie verändert werden (die Funktion erhält in Wahrheit nur eine Kopie des Originalarguments): void f(int x) x = 5; x = 1; f(x); cout << x; // druckt 1 (NICHT 5). Die Typangabe auto für Funktionsargumente ist nicht erlaubt! (Stand C++17) void f(auto x) // Fehler!! Was darf man per Wert übergeben (am Beispiel: int f(int);) Konstante: Variable int i; f(i); umwandelbare Variable char i; f(i); konstante Variable const int i; f(i); Rechenergebnisse f(i+3); f(i++); Was darf man nicht per Wert übergeben: nicht umwandelbare Variable string i; f(i); nicht umwandelbare Konstante oder Ausdrücke: f("text"); Objektinstanzen, die nicht kopiert werden können (z.b. cin, cout) Funktionen: lvalue-referenz-übergabe Statt der Wert-Übergabe kann die Funktion auch eine Referenz-Übergabe eines formalen Arguments vereinbaren (erkennbar am &-Zeichen zwischen Typangabe und Argumentname). Seit C++11 nennt man diese Art der Referenzen lvalue-referenzen (denn C++11 definiert zusätzlich rvalue-referenzen und universelle Referenzen, erkennbar am doppelten Ampersand &&):
3 void f(int& lv) lv = 5; // oder void f(int &lv) oder void f(int & lv) In diesem Fall kann die Funktion die übergebene Variable des Aufrufers ändern. Was darf man per lvalue-referenz übergeben (am Beispiel: int f(int&);) Variable vom richtigen Typ int i; f(i); Objektinstanzen, die nicht kopiert werden können (z.b. cin, cout) Was darf man nicht per lvalue-referenz übergeben: Konstante: konstante Variable const int i; f(i); umwandelbare Variable char i; f(i); nicht umwandelbare Variable string i; f(i); nicht umwandelbare Konstante oder Ausdrücke: f("text"); Rechenergebnisse f(i+3); f(i++); Die Übergabe einer Konstanten, einer konstanten Variablen, einer Variablen von einem anderen Typ (auch wenn es eine passende Typumwandlung gibt!) oder das Ergebnis eines Ausdrucks ist in diesem Fall ein Fehler: int x = 1; f(x); x hat danach den Wert 5. const int c = -1; f(c); // Fehler: Konstante Var. per lv.-referenz übergeben // Fehler: Konstante per lv.-referenz übergeben double y = 1.5; f(y); // Fehler: falscher Typ per lv-referenz übergeben f(x + 0); // Fehler: Rechenergebnis per lv-referenz übergeben f(abs(x)); // Fehler: Rechenergebnis per lv-referenz übergeben void f(int& x) x = 5; x = 1; f(x); cout << x; // druckt 5
4 Funktionen: const-lvalue Referenz-Übergabe Die Funktion kann auch eine konstante lvalue-referenz-übergabe (Schlüsselwort const) vereinbaren. Dann darf sie das Argument auf keinen Fall ändern, aber auch keine Funktion aufrufen, die das Argument ändern könnte. void g1(int x) // kann Original-Argument nicht ändern (Wertübergabe) // darf aber x ändern void g2(const int& x) // darf Argument x nicht ändern (const lv-referenz) void g3(int& x) // g3 kann und darf x ändern (lv-referenz) // ändert dadurch auch das Original-Argument void f(const int& x) // f darf x nicht ändern (const lv-referenz) x = 5; // Fehler: x darf nicht verändert werden g1(x); // korrekt: x kann von g1 nicht verändert werden g2(x); // korrekt: x darf von g2 nicht verändert werden g3(x); // Fehler: x könnte von g3 geändert werden Der Standard erlaubt die Benutzung des const nach der eigentlichen Typangabe: const int& a ist dasselbe wie int const& a Die meisten Programmierer schreiben aber const vor den Typ! Was darf man per Referenz übergeben (am Beispiel: alles Umwandelbare int f(int&);) int x = 1; f(x); const int c = -1; f(c); double y = 1.5; f(y); f(x + 0); f(abs(x)); Erklärung: Wird eine Variable per lvalue-referenz übergeben, muss diese im Speicher vorhanden sein und den richtigen Typ haben. Es müssen daher für Konstante (haben keinen Speicherplatz), Ergebnisse eines Ausdrucks und Argumente vom falschen Typ temporäre
5 Variablen benutzt werden, die nach dem Aufruf automatisch gelöscht werden. Der C++ Compiler erledigt alle diese Aufgaben automatisch! f(1) von oben erzeugt das Code-Stück: int tmp = 1; // Konstante im Speicher ablegen f(tmp); // Aufruf mit Referenz // Variable tmp wieder löschen f(y) von oben erzeugt das Code-Stück: int tmp = y; // im Speicher den konvertierten Wert ablegen f(tmp); In beiden Fällen wird also in Wirklichkeit eine temporäre Variable an die Funktion per lv- Referenz übergeben und nicht das Original. Die Funktion könnte daher das Original gar nicht ändern, da sie nur das temporäre Objekt erhält. So etwas erlaubt C++ in allen Versionen nur, wenn eine konstante lv-referenz übergeben wird, d.h. die Funktion verspricht, das Original ohnehin nicht zu ändern. Funktionen: rvalue-referenz-übergabe Diese Übergabemethode erkennt man an den 2 Ampersand, z.b.: int f(int&&); Eine rvalue-referenz kann sich immer nur auf einen rvalue, das ist eine Konstante oder eine temporäre Objektinstanz (z.b. Rechenergebnis) beziehen, aber nie auf eine von uns selbst definierte Variable (= lvalue) oder einen Teil davon! Was darf man per rvalue-referenz übergeben (am Beispiel: Konstante: umwandelbare Variable char i; f(i); Rechenergebnisse f(i+3); f(i++); int f(int&&);) Was darf man nicht per Wert übergeben: Variable int i; f(i); konstante Variable const int i; f(i); nicht umwandelbare Variable string i; f(i); nicht umwandelbare Konstante oder Ausdrücke: f("text"); int x = 1; f(x); const int c = -1; f(c); double y = 1.5; f(y); // Fehler: x ist ein lvalue // Fehler: c ist ein lvalue (und obendrein konstant) // korrekt: Konstante ist ein rvalue // korrekt: falscher Typ ist ein rvalue
6 f(x + 0); f(abs(x)); // korrekt: Rechenergebnis ist ein rvalue // korrekt: dieses Funktionsresultat ist ein rvalue Konstante rvalue-referenzen sind laut Standard zwar erlaubt, machen aber absolut keinen Sinn und werden daher nie verwendet! Funktionen: mehrere Argumente Natürlich kann eine Funktion mehr als 1 Argument definieren und für jedes einzelne von ihnen die Wert-, Referenz- (lvalue oder rvalue) oder const-refererenz vereinbaren. Bei jedem Aufruf müssen entsprechend viele Argumente angegeben sein! void addiere(double a, const double& b, double& summe) summe = a + b; double x; addiere(1, 2, x); // korrekt: x hat jetzt den Wert wird in 1.0 umgewandelt und per Wert übergeben 2 wird in 2.0 umgewandelt, temporär gespeichert und als konstante lv-referenz übergeben x wird per lv-referenz übergeben und dient hier eigentlich als Rückgabewert der Summe Auf diese Weise lassen sich von einer Funktion mehrere Resultate zurückgeben: Eines (oder keines) davon als Rückgabewert und die restlichen mittels lv-referenz-argumenten! Funktionen: Default-Argumente Eine Funktion kann (nur bei ihrer erstmaligen Deklaration oder Definition) optional Default- Werte für einige oder alle Argumente definieren. Diese dürfen dann beim Aufruf als aktuelle Argumente fehlen und werden in diesem Fall durch die Default-Werte ersetzt: double addiere(double a, double b = 1.0, double c = 3.0) return a + b + c;
7 f(-1.0, 2,0, 7.0); // korrekt: Rückgabewert ist 8.0 ( ) f(-1.0, 2.0); // korrekt: Rückgabewert ist 5.0 ( ) f(-1.0); // korrekt: Rückgabewert ist 3.0 ( ) f(); // Fehler: Argument a fehlt Selbstverständlich können auch alle Argumente einen Default-Wert bekommen. Defaultwerte können aus naheliegenden Gründen nur für die letzten Argumente vergeben werden, d.h. die folgende Definition wäre nicht erlaubt (hat ein Argument einen Default- Wert, müssen auch alle danach folgenden einen Default-Wert besitzen)! double addiere(double a = -1.0, double b) // Fehler!! return a + b; Prinzipiell darf man auch Funktionen mit Default-Argumenten überladen, es darf nur kein Aufruf dieser Funktionen mehrdeutig sein: int f(int a, int b) return a+b; double f(int a, int b = 1, double x = 0.0) return a+b+x; // 2 Argumente // 3 Argumente, also ok auto x = f(1, 2, 3); // ok, ruft Variante 2 auf: f(1, 2, 3.0) auto y = // ok, ruft Variante 2 auf: f(1, 1, 3.0) auto z = f(1, 2); // Fehler, das ist mehrdeutig
Programmiertechnik. 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
Vorlesungsprü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,
Übung zur Vorlesung EidP (WS 2018/19) Blatt 4
Lutz Oettershagen Jurij Kuzmic Dortmund, den 8. November 2018 Übung zur Vorlesung EidP (WS 2018/19) Blatt 4 Block gelb Es können 4 Punkte erreicht werden. Abgabedatum: 15. November 2018, 2:59 Uhr Hinweise
2. 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
Repetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 24. September 2012 Agenda 1 Funktionen Aufbau und Anwendung Call by Value Call by Reference Überladen von Funktionen Default
C++ - 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
C++ 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
Grundlagen 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
Projekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
Variablen und Parameter
D3kjd3Di38lk323nnm Variablen und Parameter Eine Variable repräsentiert einen Speicherbereich, der einen veränderbaren Wert enthält. Eine Variable kann eine lokale Variable, ein Parameter (value, ref oder
C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
Funktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen
Funktionen Funktionen erlauben, dem Programmcode hierarchisch zu strukturieren ein Hauptprogramm steuert dabei die Abfolge von Schritten, die einzelnen Schritte können durch Funktionen realisiert werden
Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C
Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung
SimpleStat mit Methoden
SimpleStat mit Methoden Als Ausgangspunkt nehmen wir folgende Definition (Version 1) von SimpleStat: double sum2; -Quadrate Dieser Objekttyp verfügt über keine Methoden und alle Datenattribute sind public.
Welche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
Kapitel 5: Funktionen. Inhalt
Wintersemester 2007/08 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
2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
C-Pointer (Zeiger, Adressen) vs. C++ Referenzen
C-Pointer (Zeiger, Adressen) vs. C++ Referenzen Der Pointer (C/C++): In C/C++ ist der Pointer ein eigener Datentyp, der auf Variablen/Objekte zeigen kann. Indem man den Pointer dereferenziert, gewinnt
Implementieren 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
Programmierkurs C/C++
Blockkurs: "Einführung in C/C++" Programmierkurs C/C++ Donnerstag Sandro Andreotti [email protected] WS 2008/09 1 Structs Blockkurs: "Einführung in C/C++" 2 Structs sind Bündel von Variablen (unter
Einführung in die Programmierung Wintersemester 2008/09
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Funktionen Inhalt Funktionen - mit / ohne Parameter
Elementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
Informatik - Übungsstunde
Informatik - Übungsstunde Jonas Lauener ([email protected]) ETH Zürich Woche 12-23.05.2018 Lernziele Klassen Dynamic Memory Jonas Lauener (ETH Zürich) Informatik - Übung Woche 12 2 / 20 Structs
Einstieg 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
Methoden und Wrapperklassen
Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)
Programmierung 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
Programmieren in C++ Überladen von Methoden und Operatoren
Programmieren in C++ Überladen von Methoden und Operatoren Inhalt Überladen von Methoden Überladen von Operatoren Implizite und explizite Konvertierungsoperatoren 7-2 Überladen von Methoden Signatur einer
Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
Klausur Programmiertechnik (Probeklausur 1)
Klausur Programmiertechnik (Probeklausur 1) Prüfer: Achim Bitzer Übung Matrikelnr: Name: Bitte tragen Sie auf jedem Blatt Ihre Matrikelnummer in der Kopfzeile ein! Punkte: von 70 Note: Unterschrift Prüfer
C++ - 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
Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 4 SS 2016
7 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
Einfü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
Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
Einfü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
C++ - 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
C++ 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
Praxisorientierte Einführung in C++ Lektion: "Vererbung"
Praxisorientierte Einführung in C++ Lektion: "Vererbung" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ April 24, 2014 1 / 23 Table
Typ : void* aktuelle Parameter Pointer von beliebigem Typ
2. Funktionen - Prototypvereinbarung typangabe funktionsname(parameterliste); - Funktionsdefinition typ funktionsname(parameterliste){ Anweisung - Funktionstyp -> Typ der Funktionswertes zulaessige Typangaben
Prof. 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
C# - 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
Überblick. R.Grossmann / P. 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
Pods und Objects (class und struct)
Grundbegriffe: Pods und Objects (class und struct) Pod = Plain Old Data: Es handelt sich dabei hauptsächlich um die schon in C eingebauten Datentypen wie z.b. Ganzzahltypen: char, short, int, long, long
Abend 4 Übung : Erweitern von Klassen durch Vererbung
Abend 4 Übung : Erweitern von Klassen durch Vererbung Ziel, Inhalt Wir erweitern die Klassen, die wir zum Zeichnen mit TsuZeichnen verwenden. Dabei wenden wir die Vererbung an um die Klassen zu spezialisieren
Thema 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:
Prozeduren und Funktionen
OSZ Handel I - Gymnasiale Oberstufe (Abt. V) In Anlehnung an: Duden Informatik (3.Auflage, Dudenverlag, 2001, S. 477). Prozeduren und Funktionen Fach: Informatik Parameter sind Platzhalter in einer Prozedur
Einstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Variablen Übersicht 1 Variablendeklaration 2 Initialisierung von Variablen 3 Symbolische Konstanten Variablendeklaration Die Deklaration der Variablen erfolgt durch eine Typangabe
Umsetzung einer Klassenkarte in einer Programmiersprache
Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,
Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten
Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges
7. Ü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
Arrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
Grundlagen der Informatik 8. Funktionen I
8. Funktionen I Motivation Grundlagen Parameterübergabe Struktogramme Grundlagen der Informatik (Alex Rempel) 1 Motivation Funktionen sind Mittel der Programmstrukturierung Modularisierung Aufteilung in
Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen
Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich
Überblick. 5. Objekt und Klasse, Elementfunktionen
Ü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
Variablen. 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
DAP2-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
Programmieren 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
9. 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
Tag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
magnum C++ WALTER SAUMWEBER kompakt komplett kompetent
magnum C++ WALTER SAUMWEBER kompakt komplett kompetent Quickview... 5 Liebe Leserin, lieber Leser... 13 Teil 1 Grundlagen... 15 1 Was ist Programmieren?... 17 1.1 Was ist eigentlich ein Computerprogramm?...
Praxisorientierte Einführung in C++ Lektion: "Das Schlüsselwort explicit"
Praxisorientierte Einführung in C++ Lektion: "Das Schlüsselwort explicit" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ April
Scala. Funktionale (Zustandslose) Objekte
Scala Funktionale (Zustandslose) Objekte Agenda Was sind Funktionale Objekte? veränderliche Objekte vs. unveränderliche Objekte Klassen Parameter Konstruktoren Private Member Methoden und Operatoren Overriding
8. 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
C++ - Objektorientierte Programmierung Polymorphie
C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie
Grundlagen der OO- Programmierung in C#
Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3
Kapitel 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
Programmiersprache 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,
C++ 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
7.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
Einstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
6 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
Funktionen in JavaScript
Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben
1.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 -
Praxis der Programmierung
Liste, Ausnahmefehler, Template-Funktionen und -Klassen Institut für Informatik und Computational Science Henning Bordihn 1 Stack als einfach verkettete Liste 2 Aufgabe 1 1. Kopieren Sie aus /home/rlehre/w13
Vorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
Zeiger: Der Adressoperator &
Zeiger: Der Adressoperator & Variablen werden im Computer im Speicher abgelegt. Nach der Deklaration int a,b,c; double x,y,z; Sieht die Speicherbelegung etwa wie folgt aus: a b c x y z Jede Variable hat
4. Objektorientierte Programmierung mit C++
4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung der Sprachfamilie Erweiterungen der Sprache C: Ein- und Ausgabe, Referenzen, Speicherallokation und Freigabe Grundlagen des Typkonzepts
