Hej,
Mam do napisania pewien program, wykorzystujący szablony klas, dotyczy on obiektów reprezetujacy dzialania modulo, zn. ze dla takiego wywolania:
Modulo<5>x(7); ----> obiekt ten powinien rowna sie 2, bo 7mod5 = 2;
tak wyglada fragment mojej klasy:
template<unsigned p>
class Modulo
{
private:
int x;
public:
Modulo(int x):x(x){
x = x % (int)p;
// p = x;
};
//Modulo& operator=(int x){return Modulo<x>(0);};
};
dla jednego z testow jakie mamy podane x==2, powinno dac true;
i wasnie tu mam problem tam gdzie zakomentowalem chcialem podstwic x czyli wyliczona wartosc modulo do p tak aby ten obiekt wlasnie reprezentowal wynik i faktycznie byl rowny dwa jedenak takiego przepisanie nie moge oczywiscie zrobic bezposrednio probuje jakos przeciazyc operator=(int x) ale tak niestety tez sie nie da z rzutowaniem na unsigned tez sie nie kompiluje ;< a mamy wlasnie ograniczenie ze parametry szablonow klasy musze byc typu unsigned :) Mam nadzieje ze w miare jasny sposob przedstawilem moj problem ;)