| 

.NET C# Java Javascript Exception

2
Ich fange gerade an mit C++ und weiß momentan nicht weiter. Das Programm läuft in einer Endlosschleife und gibt die Werte nicht aus. Hat jemand vielleicht eine Lösung?

//
// main.cpp
// Aufgabe5
//
// Created by du on 06.12.11.
// Copyright 2011 __MyCompanyName__. All rights reserved.
//

#include <iostream>

using namespace std;

struct ListElem{
private:
ListElem* m_Next;
ListElem* m_Prev;
int m_Elem;

public:
int getElem(){
return m_Elem;
}

void setPrev(ListElem* elem){
m_Prev = elem;
}

ListElem* getPrev(){
return m_Prev;
}

void setNext(ListElem* next){
m_Next = next;
}

ListElem* getNext(){
return m_Next;
}

void setElem(int elem){
m_Elem = elem;
}

ListElem(int elem, ListElem* next, ListElem* prev){
m_Next = next;
m_Prev = prev;
m_Elem = elem;

if(m_Next != 0)
m_Next->setPrev(this);
if (m_Prev != 0)
m_Prev->setNext(this);
}
};

struct DoubleList{
ListElem* m_Head;
ListElem* m_Tail;

DoubleList(){
m_Head = 0;
m_Tail = 0;
}

void pushFront(int elem){
if(m_Head == 0)
m_Head = m_Tail = new ListElem(elem, 0, 0);
else
m_Head = new ListElem(elem, m_Head, 0);
}

void pushBack(int elem){
if(m_Tail == 0)
m_Tail = m_Head = new ListElem(elem, 0, 0);
else
m_Tail = new ListElem(elem, 0, m_Tail);
}

void addElement(int elem){
m_Tail = m_Head;
m_Head = new ListElem(elem, m_Head, 0);
}

void print(){
for (ListElem* elem = m_Head; elem != 0; elem->getNext()) {
cout << elem->getElem() << endl;
}
}
};

int main (int argc, const char * argv[])
{
DoubleList dl;
dl.addElement(5);
dl.addElement(10);
/*
dl.pushFront(5);
dl.pushBack(10);
dl.pushFront(10);
dl.pushFront(15);
dl.pushFront(25);
dl.pushFront(35);
*/
dl.print();
return 0;
}
06.12.2011
drunkenkilla 101 2
2 Antworten
0
Ok ich hab was vergessen: elem = elem->getNext()

void print(){
for (ListElem* elem = m_Head; elem != 0; elem = elem->getNext()) {
cout << elem->getElem() << endl;
}
}
06.12.2011
drunkenkilla 101 2
0
ok dasselbe 2x! ;-)
06.12.2011
puls200 3,3k 6

Stelle deine Cplusplus-Frage jetzt!