Sunteți pe pagina 1din 1

Liste înlănţuite în C++

În cazul listelor înlănţuite, metoda (funcţia) aplicată unui pointer de exemplu, nu influenţează cu nimic
pointerul. Rezultatul metodei (funcţiei) nu este influenţat de pointer decât în cazul în care se specifică acest lucru în
metodă (funcţie).

Exemplu:

#include<iostream>
#include<string>
using namespace std;

class A
{
string s;
A *leg;
public:
A()
{
s = "";
leg = NULL;
}
A* init_lista();
void arata_lista(A*);
};

A* A::init_lista()
{
A *i, *p, *c;
i = p = c = new(A);
p->s = "PRIMUL";

while(p->s != "end")
{
fflush(stdin);
c = new(A);
p->leg = c;
p = c;
cout<<"info = ";
cin>>p->s;
}
p->leg = NULL;

return i;
}

void A::arata_lista(A *pa)


{
A *pt = pa;
while(pt->leg != NULL)
{
cout<<pt->s<<endl;
pt = pt->leg;
}

void main()
{
A *p = NULL, *q;
q = p->init_lista();
q->arata_lista(q); // foarte bine poate fi aici p->arata_lista(q)

S-ar putea să vă placă și