Skip to main content

Die objektorientierte Programmierung mit C++

  • Chapter
  • First Online:
Book cover Moderne C++ Programmierung

Part of the book series: Xpert.press ((XPERT.PRESS))

  • 15k Accesses

Zusammenfassung

Die Syntax von C++ ist recht aufwändig und im Vergleich zu anderen Sprachen, wie zum Beispiel Java, auch schwerer zu erlernen. Die größere Komplexität von C++ gegenüber anderen objektorientierten Sprachen findet ihre Berechtigung darin, dass mit C++ auch viel systemnaher und im Zweifelsfall auch flexibler programmiert werden kann. Neben der Komplexität ist es ein Nachteil von C++, dass auch viel mehr vom Entwickler selbst erarbeitet werden muss und er nicht auf besondere Eigenschaften einer speziellen Laufzeitumgebung zurückgreifen kann. Die Wahl von C++ für ein Projekt erfolgt meistens aus der Intention, schnelle, kleine oder auch portable Codes zu erzeugen. Dafür nimmt man die Komplexität in Kauf, ja man braucht diese sogar, um gegebenenfalls bezüglich der drei genannten Aspekte Optimierungen durchführen zu können.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 74.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Der Einfachheit halber wird die parallele Programmausführung bewusst ausgelassen.

  2. 2.

    Niklas Luhmann: * 8. Dezember 1927 in Lüneburg; † 6. November 1998 in Oerlinghausen bei Bielefeld

  3. 3.

    In diesem Zusammenhang möchte ich hervorheben, dass jede Realität konstruiert ist. Sie setzt sich zusammen aus selektiv wahrgenommenem und gedanklich erfassten Bestandteilen.  Auch beim gedanklichen Erfassen der Wahrnehmung ist der Mensch auf seine Fähigkeiten der Kategorisierung beschränkt. Mit der Kategorisierung des Wahrgenommenen stellt der Mensch „Bedeutung“ her, die er vernetzt. Damit ist die Realität des Menschen individuell oder im Kommunikationsprozess mit anderen sozial konstruiert.

  4. 4.

    Der Originaltitel in Englisch lautete „Design Patterns. Elements of Reusable Object-Oriented Software“.

  5. 5.

    Das Buch stieß in eine echte Lücke und wurde milionenfach verkauft.

  6. 6.

    Siehe Abschn. .

  7. 7.

    In diesem Zusammenhang ist mit „Zustand“ nicht irgendein Schnitt in einem kontinuierlichen Werteverlauf gemeint, sondern eine abgrenzbare Existenzform. Die Anzahl beschreibbarer Zustände in diesem Sinne ist also endlich.

  8. 8.

    Natürlich ohne jede Verantwortung für deren verkehrstechnische Funktion und Vollständigkeit zu übernehmen. Die Ampel soll nur ein einfaches Beispiel sein für eine Zustandsmaschine. Sie wurde ohne jede Kenntnis gesetzlicher Regelungen zu diesem Thema geschrieben.

  9. 9.

    Siehe Abschn.  beginnend.

  10. 10.

    Die einfach verkettete Liste stellt meistens höhere Anforderungen an die Implementierung als die doppelt verkettete.

  11. 11.

    Das ist eine der wenigen Situationen, in denen ausgerechnet eine Klasse, die einen Zeiger enthält, mit dem generierten Copy-Konstruktor auskommt und diesen auch tatsächlich verwendet.

  12. 12.

    Siehe Abschn.  auf S.  ff.

  13. 13.

    Vorausgesetzt, die Speicherverwaltung setzt eine „first fit“- oder „best fit“- Strategie ein. Dazu werden die freien Speicherblöcke durch die Speicherverwaltung verkettet. Eine Allokationsanfrage geht die Kette entlang und nimmt sich den ersten Block, der passt (first fit), bzw. den Block, der am besten passt (best fit). Für die best-fit-Strategie wird die Liste der freien Blöcke meistens nach Größe sortiert.

  14. 14.

    Siehe Abschn. .

  15. 15.

    Der Begriff „Design by Contract“ ist ein registrierter Handelsname der Firma Eiffel Software.

  16. 16.

    Sie kann auch Wächterbedingung genannt werden.

  17. 17.

    Ein Prozess ist ein separater Ablaufstrang, also ein parallel laufender Code mit eigenem Speicherbereich. Ein Thread ist ebenfalls ein paralleler Ablaufstrang. Ein Thread hat allerdings keinen eigenen Speicherbereich. Siehe Abschn. .

  18. 18.

    In dem einen oder anderen Softwareprojekt kann es schon einmal vorkommen, dass Synchronisierungen paralleler Ablaufstränge nur durch die Verzögerung des Prüfcodes korrekt arbeiten. Schaltet man den Prüfcode ab, so werden erst die Fehler in der Synchronisierung sichtbar.

  19. 19.

    Einfache Variablen, die einen boolschen „An“ und „Aus“-Wert kennen.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ralf Schneeweiß .

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Schneeweiß, R. (2012). Die objektorientierte Programmierung mit C++. In: Moderne C++ Programmierung. Xpert.press. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21429-5_3

Download citation

Publish with us

Policies and ethics