Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. #include <string.h>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. class Adresa {
  6. private: char* str;
  7. int nr;
  8.  
  9. public:
  10. Adresa(){
  11. }
  12.  
  13. Adresa(char* c, int n):nr(n){ //se apeleaza pseudoconstructorul pentru nr de tip int;
  14. //pseudoconstructorii se folosesc pentru initializarea tipurilor de date de baza
  15. if (c==NULL) str=NULL;
  16. else{
  17. str=new char[(strlen(c))+1];
  18. strcpy(str,c);
  19. }
  20.  
  21. }
  22.  
  23. Adresa(const Adresa&p){
  24. str=NULL;
  25. *this=p; //reutilizez codul scris in operator=
  26. }
  27.  
  28. Adresa& operator=(const Adresa &p) {
  29. if(this!=&p){
  30. if (str!=NULL) delete [] str;
  31. str=new char[strlen(p.str)+1];
  32. strcpy(str,p.str);
  33. nr=p.nr;
  34. }
  35. return *this;
  36. }
  37.  
  38. ~Adresa(){
  39. if (str!=NULL) delete[]str;
  40. }
  41.  
  42. friend ostream& operator<<(ostream &dev,const Adresa &p){
  43. if (p.str!=NULL) dev<<"Strada: "<<p.str<<endl;
  44. dev<<"Nr. : "<<p.nr<<endl<<endl;
  45. return dev;
  46. }
  47. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement