Advertisement
brsjak

Stip- Peta

Sep 9th, 2016
1,188
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Da se napise klasa Koordinati so atributi x,y,z koi pretstavuvaat koordinati na tocka
  2. vo 3-dimenzionalen koordinaten sistem. Klasata treba da ima konstuktor so default
  3. parametri, konstruktor kopija i funkcija za presmetuvanje na rastojanie megu dve tocki.
  4. Da se preoptovarat operatorot za sobiranje na koordinati na tocki +, za dodeluvanje=,
  5. za pecatenje << vo format (x,y,z) i inkrement ++ vo prefiksna i postfiksna forma koi ja
  6. zgolemuvaat vrednosta na site koordinati za 1.
  7. Vo glavnata programa da se testiraat site preoptovareni operatori.
  8.  */
  9.  
  10. #include <cstring>
  11. #include <iostream>
  12.  
  13. using namespace std;
  14. class Koordinati{
  15. private:
  16.     int x;
  17.     int y;
  18.     int z;
  19. public:
  20.     Koordinati(int x, int y, int z){
  21.         x=0;
  22.         y=0;
  23.         z=0;
  24.     }
  25.     Koordinati(int x, int y, int z){
  26.         this->x=x;
  27.         this->y=y;
  28.         this->z=z;
  29.     }
  30.     Koordinati(Koordinati &k){
  31.         x=k.x;
  32.         y=k.y;
  33.         z=k.z;
  34.     }
  35.     int getX(){
  36.         return x;
  37.     }
  38.     int getY(){
  39.         return y;
  40.     }
  41.     int getZ(){
  42.         return z;
  43.     }
  44.     Koordinati &operator++(){//prefix
  45.         ++x;
  46.         ++y;
  47.         ++z;
  48.     }
  49.     Koordinati &operator++(int){//postfix
  50.         x++;
  51.         y++;
  52.         z++;
  53.     }
  54.     //neznam kako da preoptovaram operator =
  55.     friend ostream &operator<<(ostream out, Koordinati &k){
  56.         out<<k.x<<" "<<k.y<<" "<<k.z<<endl;
  57.         return out;
  58.     }
  59.     ~Koordinati(){}
  60. };
  61. float rastojanie(Koordinati &c, Koordinati &s){
  62.     int a;
  63.     int b;
  64.     int c;
  65.     a=(s.getX()-c.getX())*(s.getX()-c.getX());
  66.     b=(s.getY()-c.getY())*(s.getY()-c.getY());
  67.     c=a+b;
  68.     return sqrt(c);
  69. }
  70. float rastojanie(Koordinati &c, Koordinati &s){
  71.     int a;
  72.     int b;
  73.     int c;
  74.     a=(s.x-c.x)*(s.x-c.x);
  75.     b=(s.y-c.y)*(s.y-c.y);
  76.     c=a+b;
  77.     return sqrt(c);
  78. }
  79. int main(){
  80. int a,b,c;
  81.  
  82. cout<<"Vnesete gi koordinatite : ";
  83. cin>>a>>b>>c;
  84. //OPERATOR ++;
  85. Koordinati p(a,b,c);
  86. p++;
  87. cout<<p<<endl;
  88. //++ prefix;
  89. ++p;
  90. cout<<p;
  91. Koordinati c(1,2,3)
  92. //Operator =
  93. p=c;
  94. cout<<p;
  95.     return 0;
  96. }
Advertisement
RAW Paste Data Copied
Advertisement