Ein Crashkurs

Features für Fortgeschrittene

Überladene Operatoren Operator Overloading Es wurde bereits angesprochen dass sich eine C Klasse für den Compiler ganz so darstellt wie die eingebauten Typen int oder char Damit dies gelingt müssen bestimmte Voraussetzungen gewährleistet sein So müssen die normalen C Operatoren auf diese Klassen anwendbar sein Dabei muss der Programmierer bedenken wie bestimmte Operatoren funktionieren sollen Als Beispiel sei der Operator Vergleich genannt Angenommen man hat zwei Instanzen vom Typ Line Wann sind diese identisch Dafür gibt es schlie lich mehrere Möglichkeiten Zwei Line Objekte können als identisch betrachtet werden wenn sie gleich lang sind und den gleichen Inhalt haben Zwei Line Objekte können als identisch betrachtet werden wenn sie auf den gleichen Speicherbereich zeigen etc Letztlich muss diese Entscheidung vom Programmierer der Klasse getroffen werden denn der Programmierer ist für die Implementierung der Operatoren zuständig Ein möglicher Vergleichsoperator für die Line Klasse in diesem Fall einer der Gleichheit bei identischem Inhalt annimmt hat folgenden Aufbau bool operator const Line amp L cont Line amp L if strcmp L m_pc L m_pc return true return false Ein selbstdefinierter Additions Zuweisungsoperator für Line Objekte könnte hingegen folgenden Aufbau haben Line operator const Line amp l strcat m_pc l gt m_pc m_cb strlen m_pc return this Das Interessante an der Definition eigener Operatoren ist dass man damit das Verhalten einer Klasse im Zusammenspiel mit anderen Typen festlegen kann So liegt es nahe einen Additionsoperator zu definieren mit dem Elemente vom Typ const char auf Elemente vom Typ Line addiert werden können Wie man allerdings bereits am vorhergehenden Beispiel sieht ist auch hier viel Vorsicht und Feingefühl geboten Bereits bei der Addition von Strings ist nicht mehr eindeutig was im Programmcode gemeint ist wenn irgendwo ein Statement wie das folgende auftaucht Line a Line b hier passiert etwas mit den beiden Variablen Line c a b Um die letzte Zeile zu verstehen muss man sich im Prinzip die Definition des Operators ansehen Zwar ist es bei Line Objekten naheliegend dass die darin enthaltenen Zeilen aneinandergehängt werden doch ob dies tatsächlich passiert ist letztlich davon abhängig wie der Operator implementiert wurde Grundsätzlich spricht nichts dagegen dass das Resultat des Operators die bitweise Addition der Strings ist oder einfach der konstante String Hallo Beim Überladen von Operatoren lässt man besser Feingefühl und Vorsicht walten Lehrbücher zu C oder für Umsteiger von C füllen ganze Bücherregale Dementsprechend ist klar dass längst nicht alle Features sämtliche Vor und Nachteile in diesem Crashkurs angesprochen werden konnten Vielleicht hat der Beitrag aber Lust auf mehr gemacht die zugehörigen Quellcodebeispiele können als erste Startpunkte dienen Wer mehr lernen will und Hilfe sucht findet diese auf nickles de im Programmier Bereich unter http www nickles de category html Thomas Wölfer Service Quellcodes zum Download Bsp zip Eine Line Implementierung wie sie in C vorliegen könnte Bsp zip Das gleiche Beispiel aber mit C Bsp zip Das Geo Beispiel aus dem Artikel allerdings mit etwas mehr Aufwand

P
Computerwissen komplett aus einer Hand

Dies ist eine Nickles-Premium Seite

Der Inhalt dieser Seite ist nur Nickles Mitgliedern zugänglich. Bitte melden Sie sich mit Ihrem Premium-Account an, um diese Seite lesen zu können.

Sollten Sie bisher noch nicht über einen Account verfügen, so können Sie sich hier einen erstellen und erhalten damit Zugriff auf das gesammelte Computerwissen, alle Artikel, Tipps und vieles mehr. Zusätzlich sehen Premium-Mitglieder Nickles werbefrei.

  • Probleme mit Hard und Software müssen nicht mehr sein
  • Nickles liefert seit über 15 Jahren geballtes Wissen
  • Unverzichtbare Artikel, verständlich für alle
  • Wertvolle Tipps die bares Geld sparen
  • Schluss mit Suchen - alles hier aus einer Hand
  • Zuverlässige Profi-Informationen statt Blabla
  • Hier gibt es Zugriff auf über 2 Millionen Webseiten geballtes Computerwissen zum Schnäppchenpreis
Computerwissen komplett aus einer Hand (Angebot 1)

UNABHÄNGIG, EHRLICH, VERSTÄNDLICH

Drei Worte. Die schreiben wir nicht nur, das meinen wir auch so! Nickles-Artikel liefern konkrete unbestechliche Informationen. Egal ob für PC-Laie oder PC-Profi: auf Nickles-Infos ist Verlass! Bereits ein einziger Nickles-Artikel kann helfen, viel Zeit und Geld zu sparen!

  • Probleme mit Hard und Software müssen nicht mehr sein
  • Nickles liefert seit über 15 Jahren geballtes Wissen
  • Unverzichtbare Artikel, verständlich für alle
  • Schluss mit Suchen - alles hier aus einer Hand
  • Zuverlässige Profi-Informationen statt Blabla
  • Hier gibt es Zugriff auf über 2 Millionen Webseiten geballtes Computerwissen zum Schnäppchenpreis

Allgemeine Geschäftsbedingungen

Wir hassen lange AGB mit fiesem Kleingedrucktem. Drum sind unsere kurz und einfach - bitte sorgfältig durchlesen:
AGB - Allgemeine Geschäftsbedingungen

Bestellformular ausfüllen

Die Abrechnung der 59,95 Euro für 12 Monate erfolgt einfach per Rechnung auf dem Postweg. Dazu benötigen wir die Anschrift. Bitte alle Felder ausfüllen!

Mit * markierte Felder werden für die Bearbeitung der Bestellung benötigt und müssen ausgefüllt werden.
Hinweis: Nickles.de gibt Daten niemals weiter! Sie dienen nur für unsere interne Abwicklung der Mitgliedschaft.

Gesamtpreis: 59,95 Euro für 12 Monate
(inklusive 7 Prozent MwSt, 3,92 Euro auf 56,03 Euro)
Vereinbarungen: Widerrufsrecht: Diese Bestellung kann gemäß AGB innerhalb von zwei Wochen widerrufen werden.

Mindestlaufzeit: 12 Monate

Verlängerung: Wird nicht spätestens drei Monate vor Ablauf der Abrechnungsperiode gekündigt, verlängert sich die Premiummitgliedschaft um 12 Monate zum Preis von 59,95 Euro.
Abrechnungsperiode dann alle 12 Monate.