000
29.05.2007, 22:31 Uhr
Gunny
|
Hallo, wer kann weiterhelfen...
habe eine Aufgabe zu lösen: Teilaufgabe (a) Es ist die folgende Deklaration einer Klasse Zeichenkette gegeben, wobei in jedem Objekt der Klasse Zeichenkette eine Buchstabenfolge als einfach verkettete Liste gespeichert werden kann.
C++: |
class Zeichenkette { private: ZElement * first_; int anzahl_; public: Zeichenkette(int); void add(char); char element(int); int get_anzahl() { return(anzahl_); }; void display(); }; class ZElement { private: char content_; ZElement * next_; public: ZElement(char); char get_content() { return(content_); }; ZElement * get_next() { return(next_); }; void set_next(ZElement *) { next_ = next; }; }; Der einstellige Konstruktor der Klasse Zeichenkette ist wie folgt definiert: Zeichenkette::Zeichenkette( int n ) { ZElement * dummy; dummy = new ZElement(' '); first_ = dummy; anzahl_ = 0; if ( n > 0 ) { char b; for ( int i = 0; i < n; ++i ) { cout << "Gib das " << i << "-te Element ein: "; cin >> b; add(b); } } if ( n < 0 ) cout << "ungueltige Eingabe" << endl; }
|
Die Methode add() bekommt als Parameter ein Zeichen b übergegeben. Definieren Sie die Methoden add() derart, dass das Zeichen b ans Ende der gespeicherten Buchstabenfolge angehängt wird. Die Methode element() bekommt als Parameter eine Zahl k übergeben. Definieren Sie die Methode element() so, dass das k-te Zeichen der gespeicherten Buchstabenfolge zurückgegeben wird. ...................................................................................................................
C++: |
#include <iostream> #include <string> using namespace std;
#ifndef _ZElement_ #define _ZElement_
class ZElement { private: char content_; ZElement * next_; public: ZElement(){}; ZElement(char); char get_content() { return(content_); }; ZElement * get_next() { return(next_); }; void set_next(ZElement *next) { next_ = next; }; }; class Zeichenkette { private: ZElement *first_; int anzahl_; public: Zeichenkette( int); void add(char); char element(int); int get_anzahl() { return(anzahl_); }; void display(); }; #endif
................................................................................. #include "Zeichenkette.h"
#include <iostream> #include <string> #include <iomanip> using namespace std;
ZElement::ZElement(char){};
Zeichenkette::Zeichenkette ( int n) { ZElement * dummy; dummy = new ZElement(' '); first_ = dummy; anzahl_ = 0; if ( n > 0 ) { char b; for ( int i = 0; i < n; ++i ) { cout << "Gib das " << i << "-te Element ein: "; cin >> b; add(b); } } if ( n < 0 ) cout << "ungueltige Eingabe" << endl;
};
|
Code: |
Kompilierung läuft... Zeichenkette.cpp ZK_ZE_main.cpp Linker-Vorgang läuft... Zeichenkette.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall Zeichenkette::add(char)" (?add@Zeichenkette@@QAEXD@Z) Debug/Sem2Prak4a.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise Fehler beim Ausführen von link.exe.
Sem2Prak4a.exe - 2 Fehler, 0 Warnung(en)
|
mod edit: Benutze die CODE/CPP Tags selber, sonst kann kein Mensch hier etwas lesen. Dieser Post wurde am 29.05.2007 um 23:16 Uhr von Pablo editiert. |