1.1 class jasnosc{ public: int piksele; int zakres(int piksele){ if(piksele<0) return 0; else if(piksele>255) return 255; else return piksele; } jasnosc(int piksele){ this->piksele = zakres(piksele); } }; 1.2 int operator + (const jasnosc & cos){ if((this->piksele + cos.piksele)<0) return 0; else if((this->piksele + cos.piksele)>255) return 255; else return (this->piksele + cos.piksele); } 1.3 int main() { piksele a(100), b(100); cout << "wynik dodawania nasycenia: " << a+b << endl; return 0; } 1.4 int x = 250; int y = 6; int wynik = x+y; cout << "wynik klasycznego dodawania " << x << " + " << y << " = " << wynik << endl; return 0; 2.3 Tworzymy dwa obiekty, "a" oraz "b", następnie w konstruktorze przypisujemy im wartość podaną (ograniczamy zakres funkcją zakres()) w programie. Następnie wykonujemy działanie dodawania oraz następuję przeciążenie operatora- W przeciążeniu sprawdzana jest wartość dodawania dwóch obiektów, jeśli wartość jest niższa niż 0, zwracana jest wartość 0; jeśli wartość jest większa niż 255, zwracana jest wartość 255, natomiast jeśli wynik mieści się w przedziale 0-255, zwracany jest dany wynik. student@ubuntu:~/Lab6$ ./zadanie2 wynik dodawania nasycenia: 200 2.4 Wykonują się te same działania z punktu nr.3, natomiast dodajemy w sposób klasyczny dwie stałe zmienne x oraz y, a następnie wypisujemy wynik działania. student@ubuntu:~/Lab6$ ./zadanie2 wynik dodawania nasycenia: 200 wynik klasycznego dodawania 250 + 6 = 256