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 segment
s, you'll set since have way construct segment
int
.
Comments
Post a Comment