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
#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<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)