Advertisement
AnaGocevska

WebPage_WebServer

Mar 24th, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.75 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class WebPage
  6. {
  7. private:
  8.     char url[100];
  9.     char *sodrzhina;
  10.  
  11. public:
  12.  
  13.     WebPage(char *url="", char* sodrzhina="")           //default i konstruktor so argumenti zaedno
  14.     {
  15.         strcpy(this->url, url);
  16.         this->sodzhina = new char[strlen(sodzhina+1)];     //alocijaranje nova memorija
  17.         strcpy(this->sodzhina, sodrzhina);
  18.     }
  19.  
  20.     WebPage(const WebPage &wp)
  21.     {
  22.         strcpy(this->url, wp.url);
  23.         this->sodrzhina = new char[strlen(wp.sodrzhina+1)];
  24.         strcpy(this->sodrzhina, wp.sodrzhina);
  25.     }
  26.  
  27.     char *getUrl()
  28.     {
  29.         return this->url;
  30.     }
  31.  
  32.     char *getSodrzhina()
  33.     {
  34.         return this->sodrzhina;
  35.     }
  36.  
  37.     void setUrl(char *url)
  38.     {
  39.         strcpy(this->url, url);
  40.     }
  41.  
  42.     void setSodrzhina(char *sodrzhina)
  43.     {
  44.         delete[]this->sodrzhina;  //Веќе креиран објект со некоја вредност претходно во конструкторот, па ја бришеме истата
  45.         this->sodrzhina = new char [strlen(sodrzhina+1)];
  46.         strcpy(this->sodrzhina, sodrzhina);
  47.     }
  48. }; // Крај class WebPage
  49.  
  50. class WebServer
  51. {
  52. private:
  53.     char ime[30];
  54.     WebPage *wps; //листа од веб страници (динамички алоцирана низа од обjекти од класата WebPage)
  55.  
  56. public:
  57.  
  58.     WebServer(char *ime="", WebPage *wps=0,int n=0)
  59.     {
  60.         strcpy(this->ime, ime);
  61.         this->wps = new WebPage[n];
  62.         for(int i=0; i<n; i++)
  63.         {
  64.             this->wps[i]=WebPage(wps[i]); //го повикуваме copy конструкторот од WebPage
  65.         }
  66.     }
  67.  
  68.     WebServer(const WebServer &ws)
  69.     {
  70.         strcpy(this->ime, ws.ime);
  71.         this->wps = new WebPage[ws.n];
  72.         for(int i=0; i<ws.n; i++)
  73.         {
  74.             this->wps[i]=WebPage(ws.wps[i]);
  75.         }
  76.     }
  77.  
  78.     // get i set
  79.     WebPage *getWps()
  80.     {
  81.         return this->wps;
  82.     }
  83.  
  84.     void setWps(WebPage *wps, int n) //n-секогаш кога имаме низа која не е char
  85.     {
  86.         delete[] this->wps; //меморијата претходно алоцирана со new WebPage[n], треба да се ослободи со delete[]
  87.         this->wps = new WebPage[n];
  88.         this->n = n;
  89.         for(int i=0; i<n; i++)
  90.         {
  91.             this->wps[i].setUrl(wps[i].getUrl());
  92.             this->wps[i].setSodrzhina(wps[i].getSodrzhina());
  93.         }
  94.     }
  95.  
  96.     char *getIme()
  97.     {
  98.         return this->ime;
  99.     }
  100.  
  101.     void setIme(char *ime)
  102.     {
  103.         strcpy(this->ime, ime);
  104.     }
  105.  
  106.     int getN()
  107.     {
  108.         return this->n;
  109.     }
  110.  
  111.     void n(int n)
  112.     {
  113.         this->n=n;
  114.     }
  115. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement