Advertisement
Guest User

Untitled

a guest
Mar 4th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. enum Symbol {e,a,b,c,d};
  6. Symbol TabliczkaDzialania[5][5] = {{e,a,b,c,d},{a,d,e,b,c},{b,e,c,d,a},{c,b,d,a,e},{d,c,a,e,b}};
  7.  
  8. Symbol Dodaj (Symbol Arg1, Symbol Arg2)
  9. {
  10. return TabliczkaDzialania [Arg1][Arg2];
  11. }
  12.  
  13. Symbol operator + (Symbol Arg1, Symbol Arg2)
  14. {
  15. return TabliczkaDzialania [Arg1][Arg2];
  16. }
  17.  
  18. Symbol operator + (Symbol Arg)
  19. {
  20. return Arg;
  21. }
  22. /*
  23. Definicja typu wyliczeniowego "Symbol" dla symboli a, b, c, d, e.
  24. */
  25.  
  26. /*
  27. Definicja funkcji: Dodaj, PrzeciwnyDodawania, Odejmij, Mnoz, OdwrotnyMnozenia, Dziel.
  28. */
  29.  
  30. /*
  31. Definicja przeciążeń operatorów
  32. */
  33.  
  34. void Porownaj(Symbol wynik_alg, Symbol wynik_ope, Symbol wynik_fun)
  35. {
  36. cout << ((wynik_alg == wynik_fun) ? "Identyczne" : "Rozne")
  37. << " wyniki wyrazenia algebraicznego i funkcyjnego." << endl;
  38.  
  39. cout << ((wynik_ope == wynik_fun) ? "Identyczne" : "Rozne")
  40. << " wyniki wyrazenia operatorowego i funkcyjnego." << endl;
  41.  
  42. cout << ((wynik_ope == wynik_alg) ? "Identyczne" : "Rozne")
  43. << " wyniki wyrazenia operatorowego i algebraicznego." << endl;
  44. }
  45.  
  46.  
  47.  
  48. int main()
  49. {
  50. Symbol x=a , wynik;
  51. wynik=x + +b;
  52.  
  53. Symbol wynik_alg, wynik_ope, wynik_fun;
  54.  
  55. wynik_alg = a + c; // <- Wyrażenie zapisane w sposób zwyczajowy
  56. cout << wynik_alg << endl;
  57. wynik_fun = Dodaj (a,c); // <- Wyrażenie wykorzystujące funkcje
  58. cout << wynik_fun << endl;
  59. wynik_ope = operator +(a,c); // <- Wyrażenie z jawnym wywołaniem operatorów
  60. cout << wynik_ope << endl;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement