DIPL.-ING. MARTIN WEITZEL, 64380 ROSSDORF, GERMANY

balluff2019-06

Aktuelle Links:

(z.Z. keine - aber immer noch ein paar kleine "To Be Done"-s weiter unten im Text)


Liste der zusätzlichen Beispiele (kleine Demos und Mini-Aufgaben)


Liste der Internet-Links

  • Diverse Style-Guides
    • TBD 101 Rules
    • Rule Checking-Library (Github)
  • C++-FAQ 
    • Wann ist Vererbung sinnvoll?
      TBD
    • Das "Named Parameter" Idiom
      TBD
  • Enturfmuster (= Zusammenspiel von Klassen zur Lösung "typischer" Aufgaben)
    • TBD (GoF Buch)
  • Kritische Bewertung des "klassischen" OOP-Ansatzes (via Vererbung und Polymorphismus)
    • TBD (Execution in the Kingdom of Nouns)
    • TBD (Why OOP is bad)

Anmerkungen zur Schulung 11.-14. Juni 2019

Motivation OOP:

  • Zusammmenfassung von zusammengehörigen Daten zu einer Struktur
  • Funktionen, die speziell nur diese Struktur bearbeiten (Inhalt ist ansonsten uninteressant)
  • Mit C++: Sicherstellen, dass wirklich nicht anders auf die Daten zugegriffen

Initialisierung von Daten einer Klasse

  1. Member-Initialisierungsliste
  2. Direkte Member-Initialisierung, wenn vorhanden und nicht in Member nicht in der Initialiierungsliste des verwendeten Konstrukor
  3. Zuweisungen im Konstruktor-Block
    • diese Zuweisungen erfolgen auch dann, wenn schon gemäß 1 oder 2 initialisiert wurde;
    • hier können keine Konstanten oder Referenzen initialisiert werden

 


Änderung der Funktion `getCommand` in Support.cpp so dass diese nicht auf die <RETURN>-Taste warten muss (vermeidet einige Probleme bei der korrekten Einstellung von TeraTerm oder Putty):

    sint8_t getCommand(void)
	{
		printf("\n::> ");
		char ch;

		while(true)
		{
			switch (getchar())
			{
				case '1': case 'A': case 'a': ch = 'A'; break;
				case '2': case 'B': case 'b': ch = 'B'; break;
				case '3': case 'C': case 'c': ch = 'C'; break;
				case '4': case 'D': case 'd': ch = 'D'; break;
				default: ch = 0;
			}
			if (ch) {
				putchar(ch);
				return ch;
			}
		}
	}

TBD: Demo zum Kopieren von Objekten wenn als Paramer oer Returnwert verwendet, inkl. RVO und NRVO