000
15.11.2004, 14:59 Uhr
~FrankBooth
Gast
|
C++: |
#include <iostream> #include <iomanip> #include <string> #include <new>
using namespace std;
class Tele {
string name; //Schl’sselwert string nummer; public: Tele (string na,string nu); //Konstruktor /*Operator ’berladungen*********************************/ bool operator < (Tele Z){return (name < Z.name);} bool operator > (Tele Z){return (name > Z.name);} bool operator == (Tele Z){return (name == Z.name);} bool operator <= (Tele Z){return (name <= Z.name);} bool operator >= (Tele Z){return (name >= Z.name);} /*******************************************************/ /*Get Funktionen****************************************/ string getname(){return name;} string getnummer(){return nummer;} /*******************************************************/ /*Set Funktion******************************************/ void setinhalt (string na,string nu){name=na;nummer=nu;} /*******************************************************/ };
class Knoten { Tele **daten; int t; int nr; //Anzahl der Datensaetze Knoten ** suc; public: Knoten (); Knoten (int grad); int getnr(){return nr;} bool istblatt (); bool voll (); void setTele (string,string); };
/*class BBaum { Knoten K; int t; //max Grad public: BBaum (); BBaum einfuegen(string na, string nu); void Spalte_Wurzel (); //??? void Spalte_Nachfolger (); //??? */ /*Tele************************************************************/ //Konstruktor Tele::Tele(string na="hallo",string nu="123") { setinhalt (na,nu); }
/*Knoten**********************************************************/ Knoten::Knoten (int grad) { t=grad; nr=0; daten=new Tele*[2*t-1]; for(int i=0; i< ((2*t)-1); i++) { daten[i]=NULL; } suc= new Knoten*[2*t]; for(int i=0; i<(2*t); i++) { suc[i]=NULL; } } bool Knoten::istblatt () { for(int i=0; i<2*t; i++) { if(suc[i] != 0) return false; } return true; }
bool Knoten::voll () { if(nr == ((2*t)-1)) return true; else return false; }
void Knoten::setTele(string na, string nu) { daten[nr]->setinhalt(na,nu); nr++; }
|
C++: |
int main () {
Knoten K (5); if (K.istblatt())cout << "Blatt" <<endl; else cout << "kein Blatt"<<endl; K.setTele ("Hans","23123"); // <------- hier segmentation fault //K.setTele ("Hans","23123");
Tele T("Meyer","23456"); Tele Z("Alah","2135545");
cout<<T.getname()<<T.getnummer()<<endl; cout<<Z.getname()<<Z.getnummer()<<endl; ...
|
Bearbeitung von Pablo: |
Benutze CPP TAGS selber.
|
Dieser Post wurde am 15.11.2004 um 17:25 Uhr von Pablo editiert. |