Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Vorlesung Prog.2 , Fehler Kein Stasndard Konstruktor verfuegbar

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.05.2007, 09:58 Uhr
mmc20
puss in boots


hi, da du die "methoden" add(..), element(..) und display() schon in den header rein geschrieben hast, musst du natürlich auch die entsprechende funktion in deiner .cpp haben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.05.2007, 17:28 Uhr
BoBtheREapER
kein job für nen BoB


Sonst sucht der Linker nämlich nachdem er das Heraderfile geparst hat nach der entsprechenden implementierung, kann sie aber nciht finden.
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.05.2007, 21:54 Uhr
Gunny



danke, habs inzwischen auch schon gemerkt...
Die menschliche Dummheit ist grenzenlos, Gunny übertrifft dies nochmals
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: