Advertisement
borisdexter

Динамичка алокација на меморија итн.

Mar 19th, 2018
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. class Soba{
  5. private:
  6. int x;
  7. public:
  8.     Soba(int x){
  9.     this->x=x;
  10.     }
  11.     Soba& operator=(Soba &ob){
  12.     this->x=ob.x
  13.     return *this;
  14.     }
  15.     ~Soba(){}
  16. };
  17. class Kukja{
  18. private:
  19. char *adresa; // dinamicki alocirana
  20. int brSobi; // brojot na sobi vo povrsina
  21. Soba *s; // dinamicki alocirana
  22. public:
  23.     Kukja(char *adresa,Soba *s,int brSobi){
  24.     this->adresa= new char[strlen(adresa)+1];
  25.     strcpy(this->adresa,adresa);
  26.     this->brSobi=brSobi;
  27.     s = new Soba[brSobi];
  28.     for(int i=0;i<brSobi;i++){
  29.        this->s[i]=s[i];
  30.     }
  31.     }
  32.     // Kukja k("ime",niza,brSobi);
  33.     // Kukja nova(k);
  34.     Kukja(const Kukja &ob){
  35.     this->adresa=new char[strlen(ob.adresa)+1];
  36.     strcpy(this->adresa,ob.adresa);
  37.     this->brSobi=ob.brSobi;
  38.     povrsina = new int[ob.brSobi];
  39.     for(int i=0;i<ob.brSobi;i++){
  40.         this->povrsina[i]=ob.povrsina[i];
  41.     }
  42.     }
  43.     // Kukja nova=k;
  44.     Kukja& operator=(Kukja &ob){
  45.     if(this!=ob){
  46.     this->adresa=new char[strlen(ob.adresa)+1];
  47.     strcpy(this->adresa,ob.adresa);
  48.     this->brSobi=ob.brSobi;
  49.     povrsina = new int[ob.brSobi];
  50.     for(int i=0;i<ob.brSobi;i++){
  51.         this->povrsina[i]=ob.povrsina[i];
  52.     }
  53.     return *this;
  54.     }
  55.     }else{
  56.     return *this;
  57.     }
  58.     ~Kukja(){ // destructor mora racno da gi brishe d. alocirani promenlivi
  59.     delete []ime;
  60.     delete []s;
  61.     }
  62. };
  63.    
  64. int main(){
  65.     /*
  66. int niza[4]={2,3,4,5};
  67. Kukja k("Partizanska",niza,4);
  68. Kukja novaKukja(k);
  69.     */
  70. int x=5;
  71. int *y=&x;
  72. cout<<y;
  73. cout<<*y;
  74. return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement