home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD2.mdf
/
c
/
tcpp
/
examples
/
string.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1990-06-09
|
2KB
|
88 lines
/* STRING.CPP - Beispiel aus Kapitel 5 der
Einführung */
#include <iostream.h>
#include <string.h>
class String
{
char *char_ptr; // Zeiger auf den String-Inhalt
int length; // Länge des Strings
public:
// drei verschiedene Konstruktoren:
// Konstruktor benutzt existierenden String
String(char *text);
// erzeugt einen leeren String
String(int size = 80);
// für Zuweisung von einem anderen Objekt
// dieser Klasse
String(String& Other_String);
// Destruktor
~String() {delete char_ptr;};
int Get_len (void);
void Show (void);
};
String::String (char *text)
{
length = strlen(text); // Länge des Textes ermitteln
char_ptr = new char[length + 1];
strcpy(char_ptr, text);
};
String::String (int size)
{
length = size;
char_ptr = new char[length+1];
*char_ptr = '\0';
};
String::String (String& Other_String)
{
// Länge des anderen Strings
length = Other_String.length;
// Speicher reservieren
char_ptr = new char [length + 1];
// den Text kopieren
strcpy (char_ptr, Other_String.char_ptr);
};
int String::Get_len(void)
{
return (length);
};
void String::Show(void)
{
cout << char_ptr << "\n";
};
main () // Funktionen testen
{
String AString ("Reserviert von einem "
"konstanten String.");
AString.Show();
// benutzt voreingestellte Länge
String BString;
// zeigt die Länge
cout << "\n" << BString.Get_len() << "\n" ;
BString = "Dies ist BString";
// benutzt den dritten Konstruktor
String CString(BString);
// zeigt dessen Inhalt
CString.Show();
}