Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. class Kompleksen{
  6. private:
  7. float realen;
  8. float imaginaren;
  9. public:
  10. Kompleksen(){}
  11. Kompleksen(float r, float i){
  12. realen = r;
  13. imaginaren = i;
  14. }
  15.  
  16. Kompleksen &operator-(Kompleksen &k){
  17. Kompleksen tmp;
  18. tmp.realen = realen - k.realen;
  19. tmp.imaginaren = imaginaren - k.imaginaren;
  20. return tmp;
  21. }
  22.  
  23. Kompleksen &operator+(Kompleksen &a){
  24. Kompleksen tmp;
  25. tmp.realen = realen + a.realen;
  26. tmp.imaginaren = imaginaren + a.imaginaren;
  27. return tmp;
  28. }
  29.  
  30. Kompleksen &operator+=(Kompleksen &a){
  31. realen += a.realen;
  32. imaginaren += a.imaginaren;
  33. return *this;
  34. }
  35. Kompleksen &operator*=(Kompleksen &a){
  36. realen *= a.realen;
  37. imaginaren *= a.imaginaren;
  38. return *this;
  39. }
  40.  
  41. friend ostream &operator<<(ostream &newcout, Kompleksen &k){
  42. return newcout<<"Realen del: "<<k.realen<<", imaginaren del: "<<k.imaginaren<<endl;
  43. }
  44.  
  45. bool operator==(Kompleksen &k){
  46. if(realen==k.realen && imaginaren==k.imaginaren)
  47. return true;
  48. else
  49. return false;
  50. }
  51.  
  52. bool operator<(Kompleksen &k){
  53. if(realen<k.realen)
  54. return true;
  55. else
  56. return false;
  57. }
  58.  
  59. float getRealen(){
  60. return realen;
  61. }
  62. float getImaginaren(){
  63. return imaginaren;
  64. }
  65. };
  66.  
  67. class Covek{
  68. private:
  69. char *ime;
  70. int vozrast;
  71. public:
  72. Covek(){}
  73. Covek(char *i, int v){
  74. ime = new char[strlen(i)+1];
  75. strcpy(ime,i);
  76. vozrast = v;
  77. }
  78.  
  79. Covek &operator+=(Covek &c){
  80. vozrast += c.vozrast;
  81. char *tmp = new char[strlen(ime) + strlen(c.ime) + 1];
  82. strcpy(tmp, ime);
  83. strcat(tmp, " ");
  84. strcat(tmp, c.ime);
  85. delete [] ime;
  86. ime = new char[strlen(tmp)];
  87. strcpy(ime, tmp);
  88. return *this;
  89. }
  90.  
  91. Covek &operator=(Covek &c){
  92. if(this != &c){
  93. delete [] ime;
  94. ime = new char[strlen(c.ime)+1];
  95. strcpy(ime, c.ime);
  96. vozrast = c.vozrast;
  97. }
  98. return *this;
  99. }
  100.  
  101. friend ostream &operator<<(ostream &o, Covek &c){
  102. return o<<"Ime: "<<c.ime<<", vozrast: "<<c.vozrast<<endl;
  103. }
  104.  
  105. char &operator[](int n){
  106. return ime[n];
  107. }
  108.  
  109. char *getIme(){
  110. return ime;
  111. }
  112.  
  113. //POSTFIX - c++;
  114. Covek &operator++(int n){
  115. Covek c(*this);
  116. vozrast++;
  117. return c;
  118. }
  119.  
  120. // PREFIX - ++c;
  121. Covek operator++(){
  122. vozrast++;
  123. return *this;
  124. }
  125. };
  126.  
  127. int main()
  128. {
  129. Covek c1("Marko",21);
  130. Covek c2("Ana", 22);
  131. //prefix
  132. ++c1;
  133. //postfix
  134. c1++;
  135. cout<<c1<<endl;
  136.  
  137. Kompleksen k1(3.0, 3.1);
  138. Kompleksen k2(2.0, 3.1);
  139. Kompleksen k3;
  140. k3 = k1 - k2;
  141. bool tmp = k1<k2;
  142. // cout<<tmp;
  143. // cout<<k3.getRealen()<<" "<<k3.getImaginaren()<<endl;
  144. //cout<<k3<<endl;
  145.  
  146. return 0;
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement