exemple clase.pdf

10
// ------Clasa agenda telefonica------ // ------functia de modificare-------- #include<iostream.h> #include<stdlib.h> #include<string.h> #include<conio.h> class inf{ public: char*nume,*prenume; long int tel; inf*next; }; class agenda{ inf*pers; public: agenda(){pers=NULL;} ~agenda(); void add(); void elimin(); void modif(); void verif(); void afis(); }; agenda::~agenda(){ inf*p; while(pers!=NULL) { p=pers; pers=pers->next; delete p; }} void agenda::add(){ inf*p; char *num,*pren; long int nrtel; clrscr(); cout<<"\n Numele:" ; num=new char[15];cin>>num; cout<<"\n Prenumele:"; pren=new char[20];cin>>pren; cout<<"\n Numarul de telefon:";cin>>nrtel; if((p=new inf)==NULL){ cout<<"\n eroare la alocare de memorie"; exit(1); } p->next=pers; p->nume=num; p->prenume=pren; p->tel=nrtel; pers=p; } void agenda::modif(){ inf*p=pers; inf*tt,*rr;

Upload: toxicangellove958

Post on 18-Nov-2015

4 views

Category:

Documents


1 download

DESCRIPTION

clase

TRANSCRIPT

  • // ------Clasa agenda telefonica------

    // ------functia de modificare--------

    #include

    #include

    #include

    #include

    class inf{

    public:

    char*nume,*prenume;

    long int tel;

    inf*next;

    };

    class agenda{

    inf*pers;

    public:

    agenda(){pers=NULL;}

    ~agenda();

    void add();

    void elimin();

    void modif();

    void verif();

    void afis();

    };

    agenda::~agenda(){

    inf*p;

    while(pers!=NULL) {

    p=pers;

    pers=pers->next;

    delete p;

    }}

    void agenda::add(){

    inf*p;

    char *num,*pren;

    long int nrtel;

    clrscr();

    coutnum;

    coutpren;

    coutnrtel;

    if((p=new inf)==NULL){

    coutnume=num;

    p->prenume=pren;

    p->tel=nrtel;

    pers=p;

    }

    void agenda::modif(){

    inf*p=pers;

    inf*tt,*rr;

  • char *Nume,*Prenume;

    if(p==NULL) coutprenume;

    coutp->tel;

    tt=p;

    rr=NULL;

    while(tt!=NULL && strcmp(tt->nume,Nume)!=0){

    tt=rr;

    tt=tt->next;

    strcpy(tt->nume,Nume);

    strcpy(tt->prenume,Prenume);}

    if(tt==NULL){ coutprenume,Prenume);

    if((cn==0)&&(cp==0)){

    v=1;

    cout

  • coutprenume,Prenume);

    if((cn==0)&&(cp==0)){

    v=1;

    cout

  • cout
  • #include "banca.h"

    int Banca::contor = 0;

    Banca::Banca(char* str)

    {

    nume = new char [strlen(str) + 1];

    strcpy(nume, str);

    listaConturi = new BinSTree();

    }

    Banca::~Banca(void)

    {

    delete[] nume;

    delete listaConturi; //implementare destructor!!

    }

    int Banca::deschideCont(Client& persoana)

    {

    Cont* cont = new Cont(&persoana, ++contor);

    return cont->getContID();

    }

    int Banca::inchideCont(Client& persoana, int contID)

    {

    char strContID[12];

    itoa(contID, strContID, 10);

    Cont* cont = (Cont*)listaConturi->search(strContID);

    if (cont != NULL)

    {

    listaConturi->remove(strContID);

    return contID;

    }

    else

    return 0;

    }

    void Banca::depune(int contID, long suma)

    {

    char strContID[12];

    itoa(contID, strContID, 10);

    Cont* cont = (Cont*)listaConturi->search(strContID);

    cont->depune(suma);

    }

    long Banca::retrage(int contID, long suma)

    {

    char strContID[12];

    itoa(contID, strContID, 10);

    Cont* cont = (Cont*)listaConturi->search(strContID);

  • return cont->retrage(suma);

    }

    long Banca::getSold(int contID)

    {

    char strContID[12];

    itoa(contID, strContID, 10);

    Cont* cont = (Cont*)listaConturi->search(strContID);

    if (cont == NULL)

    return -1;

    else

    return cont->getSold();

    }

    void Banca::actualizare(void)

    {

    }

    biblioteca

    #include

    #include

    #include

    class carte{

    char *autor;

    char *titlu;

    int an;

    public:

    carte(char *s1="",char *s2="",int an=0);

    void afis1();

    // ~carte();

    carte(const carte&);

    };

    carte::carte(char *s1,char *s2,int a){

    an=a;

    autor=new char[strlen(s1)+1];

    strcpy(autor,s1);

    titlu=new char[strlen(s2)+1];

    strcpy(titlu,s2);

    }

    carte::carte(const carte&c)

    {

    an=c.an;

    autor=new char[strlen(c.autor)+1];

    strcpy(autor,c.autor);

    titlu=new char[strlen(c.titlu)+1];

  • strcpy(titlu,c.titlu);

    }

    /* carte::~carte(){

    delete autor;

    delete titlu;

    }*/

    void carte::afis1(){

    cout

  • for(int i=0;i
  • cout
  • // operatorul de atribuire

    const Vector& operator=(const Vector&)

    {

    // dealocam memoria alocata

    delete [] vector;

    // alocam memorie pentru noul vector

    vector = new T[n];

    // copiem elementele

    for (int i = 0; i < n; i++)

    vector[i] = v.vector[i];

    }

    // destructorul

    ~Vector()

    {

    // dealocam memoria alocata

    delete [] vector;

    }

    // operatorul pentru citirea elementelor

    T operator[] (int i)

    {

    return vector[i];

    }

    // seteaza valoarea unui element din vector

    void Setare(int i, T valoare)

    {

    vector[i] = valoare;

    }

    // functie pentru obtinerea numarului de elemente

    int Lungime() { return n; }

    private:

    int n; // numarul de elemente

    T *vector; // vectorul de elemente

    }

    void main()

    {

    int i;

    Vector v1(3); // declarare vector de intregi

    v1.Setare(0, 7); // setare elemente

    v1.Setare(1, 1);

    v1.Setare(2, 92);

    // afisare elemente vector

    for (i = 0; i < v1.Lungime(); i++)

    cout