1 // Optimierung für Zeile
2 // Datei: zeileop1.cpp
3 #include <string.h>
4 #include "zeileop1.hpp"
6 Zeile::Zeile (char * op)
7 { cout << "\nTextkonstruktor.";
8 Laenge = strlen (op) + 1;
9 Inhalt = new char [Laenge];
10 strcpy (Inhalt,op);
11 }
12 Zeile::Zeile (Zeile & Z)
13 { cout << "\nKopierkonstruktor.";
14
Laenge = Z.Laenge;
15 Inhalt = new char [Laenge];
16 strcpy (Inhalt, Z.Inhalt);
17 }
18 Zeile & Zeile::operator= (Zeile & op)
19 { cout << "\nZuweisung.";
20 delete Inhalt; // alten dyn. Speicher entf.
21 Laenge = op.Laenge;
22
Inhalt = new char[Laenge];
23 strcpy (Inhalt, op.Inhalt);
24 return (*this);
25 }
26 Zeile Zeile::operator+ (Zeile & op)
27 {
28 Zeile zwi ("");
29
zwi.Laenge = Laenge + op.Laenge -1;
30 delete zwi.Inhalt;
31 zwi.Inhalt
= new char [zwi.Laenge];
32 strcpy (zwi.Inhalt, Inhalt);
33 strcat (zwi.Inhalt,
op.Inhalt);
34 return zwi;
35 }
|
Bild 10-8: Implementierung der "Zeile" mit Referenzen
|