Kurs maturalny z języka angielskiego!
kurs-maturalny-jezyk-angielski

PROGRAMOWANIE I ALGORYTMY

Zajęcia maturalne z informatyki
Olimpiada Informatyczna Juniorów
    Prowadzący: Marcin Kasprowicz
  • właściciel serwisu algorytm.edu.pl
  • wrzesień 2024 — start zajęć
  • czytaj więcej

Przeciążanie operatora [ ]


Zad. 2. Napisz program, który przeciąży operator [ ] w taki sposób, że dla podanej liczby naturalnej jako argumentu tego operatora, funkcja operatorowa zwróci sumę cyfr podanej liczby.

Rozwiązanie

#include<iostream>
using namespace std;

class klasa{
	public:		//funkcja operatorowa przeciążająca operator [ ]
		int operator [ ](int liczba) 
		{
			//wyznaczenie sumy cyfr podanej liczby
			int s = 0;
			while(liczba!=0)
			{
				s+=liczba%10;
				liczba/=10;
			}
			return s;
		}
};
int main()
{
	klasa suma; //stworzenie obiektu
	cout<<"Suma cyfr liczby 123 wynosi "<<suma[123]<<endl;
	
	return 0;
}
Out: Suma cyfr liczby 123 wynosi 6