
Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <iostream.h>
#include <stdlib.h>
int getdata();
struct structlist{
structlist *previous;
int data;
};
class classlist{
structlist *current;
public:
classlist(int);
classlist(const classlist &);
int operator [] (int);
int operator - (const classlist &);
};
int classlist::operator - (const classlist &original){
};
int classlist::operator [] (int num){
for(structlist *newlist = current;\
(--num)&&(newlist); newlist = newlist->previous) ;
return (newlist)?newlist->data:-1;
}
classlist::classlist(const classlist &original){
cout<<"\n++++++++++++++++++++++++++++++++++++++++\n"<< \
"Creating a copy-list :";
structlist *current = new structlist;
structlist *temp = new structlist;
temp = original.current;
current->data = temp->data;
current->previous = NULL;
temp = temp->previous;
while(temp){
structlist *newlist = new structlist;
newlist->data = temp->data;
newlist->previous = current;
cout<<"\n\nDeBug:"<<current->data;
current = newlist;
temp = temp->previous;
}
cout<<"\n\nDeBug:"<<current->data;
/*
while(current){
cout<<"\nCopy list Data : "<<current->data;
current = current->previous;
}
*/
cout<<"\nDone\n";
}
classlist::classlist(int num){
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++"<<\
"\nCreating LIST of "<<num<<" elements :";
current->data = num;
cout<<"\nNUM+:"<<num;
current->previous = NULL;
while(--num){
structlist *newlist = new structlist;
newlist->data = num;
cout<<"\nNUM+:"<<num;
newlist->previous = current;
current = newlist;
}
cout<<"\nDone\n";
/*
cout<<"\n++++++++++++++++++++++++++++++++++++++++++++++++"<<\
"\nReading from excisting LIST elements :";
while(current){
cout<<"\nNUM-:"<<current->data;
current = current->previous;
}
cout<<"\nDone\n";
*/
}
void main(){
classlist list = 4;
classlist copylist = list;
cout<<"\nElement: "<<list[3];
}