Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- enum Symbol {e,a,b,c,d};
- 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}};
- Symbol Dodaj (Symbol Arg1, Symbol Arg2)
- {
- return TabliczkaDzialania [Arg1][Arg2];
- }
- Symbol operator + (Symbol Arg1, Symbol Arg2)
- {
- return TabliczkaDzialania [Arg1][Arg2];
- }
- Symbol operator + (Symbol Arg)
- {
- return Arg;
- }
- /*
- Definicja typu wyliczeniowego "Symbol" dla symboli a, b, c, d, e.
- */
- /*
- Definicja funkcji: Dodaj, PrzeciwnyDodawania, Odejmij, Mnoz, OdwrotnyMnozenia, Dziel.
- */
- /*
- Definicja przeciążeń operatorów
- */
- void Porownaj(Symbol wynik_alg, Symbol wynik_ope, Symbol wynik_fun)
- {
- cout << ((wynik_alg == wynik_fun) ? "Identyczne" : "Rozne")
- << " wyniki wyrazenia algebraicznego i funkcyjnego." << endl;
- cout << ((wynik_ope == wynik_fun) ? "Identyczne" : "Rozne")
- << " wyniki wyrazenia operatorowego i funkcyjnego." << endl;
- cout << ((wynik_ope == wynik_alg) ? "Identyczne" : "Rozne")
- << " wyniki wyrazenia operatorowego i algebraicznego." << endl;
- }
- int main()
- {
- Symbol x=a , wynik;
- wynik=x + +b;
- Symbol wynik_alg, wynik_ope, wynik_fun;
- wynik_alg = a + c; // <- Wyrażenie zapisane w sposób zwyczajowy
- cout << wynik_alg << endl;
- wynik_fun = Dodaj (a,c); // <- Wyrażenie wykorzystujące funkcje
- cout << wynik_fun << endl;
- wynik_ope = operator +(a,c); // <- Wyrażenie z jawnym wywołaniem operatorów
- cout << wynik_ope << endl;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement