PROGRAMOWANIE I ALGORYTMY

Przeciążanie operatorów


Ćwiczenie 1. Napisz program, który przeciąży operator dodawania w taki sposób, aby podane minuty z jednego obiektu i drugiego zamieniały się na godziny i minuty wypisywane przez metodę wypisz(). Stwórz dwie wersje funkcji operatorowej:

  • obiekt + obiekt
  • obiekt + liczba naturalna

Np.

klasa A(12), B(100); A + B; A.wypisz();

 

 

Out: 1 h 52 min

Ćwiczenie 2. Napisz program, który przeciąży operator [ ], tak aby podany znak we wnętrzu tego operatora został konwertowany i zwracany w postaci kodu ASCII.

Np. 

klasa A;
cout<<A['a'];

 

Out: 97

Ćwiczenie 3. Napisz program, który przeciąży operator "<<", w taki sposób, aby wypisywał ciąg, który będzie podany jako argument.

Np. 

klasa wypisz;
wypisz<<"Jakiś tekst";

 

Out: Jakiś tekst

Ćwiczenie 4. Napisz program, który przeciąży operator =, w taki sposób, aby przypisywał do obiektu liczbę naturalną oraz operator "/", który będzie skracał o jeden bit liczby, które stoją przed i za operatorem.

klasa object;
objekt = 4;
unsigned int a = 5;
objekt/a;
cout<<objekt.wypisz<<" "<<a;

 

Out: 2 2

 

Rozwiązania do ćwiczeń