Nur Funktionen koennen rein virtuell deklariert werden

lernen.2007

Erfahrenes Mitglied
Hallo Leute,

ich wollte mich ein bisschen in die Programmiersprache C++ vertiefen und versuche mit Klassen eine verkettete Liste zu programmieren.Aber es kommt die Fehlermeldung:Nur Funktionen koennen rein virtuell deklariert werden --> an die Stellen:
VerketteteListe* head = NULL;
VerketteteListe *temp = NULL;
VerketteteListe *temporaer = NULL;

hier ist der Code:Erste Klasse mit Liste funktion-->

class VerketteteListe
{
public:
VerketteteListe* getListe;
void setNext(VerketteteListe* p);
void setZahl(int setZahl);
VerketteteListe* getNext();
int getZahl();

private:
int getZahlen;
};
void VerketteteListe::setNext(VerketteteListe* p)
{
getListe = p;
}
void VerketteteListe::setZahl(int setZahl)
{
getZahlen = setZahl;
}
VerketteteListe* VerketteteListe:: getNext()
{
return getListe;
}
int VerketteteListe:: getZahl()
{
return getZahlen;
}

und die andere Klasse, welche in die Liste einfügt:

#include "Liste.h"
using namespace std;

class Operationen
{
private:
VerketteteListe* head = NULL; // FEHLERMELDUNG AN DIE STELLE
VerketteteListe *temp = NULL;
VerketteteListe *temporaer = NULL;

public:
void addZahl(int Zahl);
void getZahlen();

};

void Operationen::addZahl(int Zahl)
{
if( head == NULL)
{
head = new VerketteteListe();
head->setNext(NULL);
head->setZahl(Zahl);
temp = head;
}
else
{
while(true)
{
if(temp->getNext() == NULL)
{
temporaer = new VerketteteListe();
temporaer->setZahl(Zahl);
temp->setNext(temporaer);
return;
}
temp = temp ->getNext();
}
}
}
void Operationen::getZahlen()
{
temp = head;
if(temp == NULL)
cout<<"Leider ist nichts eingefügt worden! ";
else
{

while(temp != NULL)
{
cout<<"Der Zahl lautet: "<<temp->getZahl()<<endl;
temp = temp ->getNext();
}
return;

}



}
 
Hy!

Solche Zuweisungen musst du im Konstruktor machen, nicht in der Klassendefinition.
Also:
Code:
Operationen::Operationen()
  : head(0)
  , temp(0)
  , temporaer(0) {
  /* was sonst noch so passiert... */
}
Und verwende das nächste mal bitte Code-Tags.
Achja, eine Frage zu stellen wäre auch nicht schlecht gewesen.

mfg
uhu01
 
Zurück