c++ - Which operator i should call? -
i have little problem operators in c++. have following code:
class segment{ public: double a, b; segment(double a=0, double b=0) : a(a), b(b) {} // segment operator&(const segment & d){ // segment ss; // if (d >= this.a && d<this.b) // { // return 1; // } // else{ // return 0; // } // } }; int main (){ //segment seg2(2,5); segment seg(2,3), s = 2*((seg-2)/2+seg)/3+1; pokaz(s); cout << (s(5) ? "true" : "false") << endl; } i call operator using s(5) return me true if 5 between 2 , 5 , false if not... dont know how call kind of operator.. know it's maybe noob question learning operators , need little help.. me , show how correctly call operator? fight 3 hours no effects :(
you have following code:
s = 2*((seg-2)/2+seg)/3+1 seg-2 requires operator-() between segment , int.
depending on function returns, (seg-2)/2 may require operator/() function between returned value type , int.
depending on type (seg-2)/2 evaluates to, (seg-2)/2+seg) may require operator+() function between type , segment.
depending on type (seg-2)/2+seg evaluates to, 2*((seg-2)/2+seg) may require operator*() between int , type (seg-2)/2+seg evaluates to.
depending on type 2*((seg-2)/2+seg) evaluates to, 2*((seg-2)/2+seg)/3 may require operator/() between type , int.
depending on type 2*((seg-2)/2+seg)/3 evaluates to, 2*((seg-2)/2+seg)/3+1 may require operator+() between type , int.
hopefully, evaluates segment. otherwise, have define way convert type segment able use:
s = 2*((seg-2)/2+seg)/3+1 if provide operator+(), operator-(), operator*() and operator/() between segments, you'll set since have way construct segment int.
Comments
Post a Comment