Also make sure that your copy constructor and operator= are properly implemented if you want to use your class like a native type.
Jerome Ben Combee wrote:
Don't return a reference to myclass, just return a myclass. You usually only return references when you are returning one of the original arguments to the operator, such as when implementing a stream operator for a iostream and a custom class. myclass myclass::operator+(const myclass& x) { myclass temp; temp= ...something... return(temp); } On 4/19/06, Michal Seliga <[EMAIL PROTECTED]> wrote:did anyone succeeded with this? i have following problem: when i override for example operator + i must return result. in all c++ tutorial i found its easy myclass& myclass::operator+(const myclass& x) { myclass temp; temp= ...something... return(temp); } this doesn'twork in metrowerks (actually i will also get warning during compilation) so another approach, i make temp=new myclass and return *temp this also isn't good idea because allocation will leak and it will never be deleted i tried some more things but still nothing usable... only thing which i think is usable needs a lot of coding and it is called garbage collector, and it is definitely not what i would like to write... will i have to? -- what i am writing is actually class for fixed point math. in database we work with quantities and prices. so we need to handle millions, possibly billions and also to have valid 4 decimal places. so far we use double type, but results are very bad ( something like 5-4=0.999999999 and so on). idea was that i will create my own type and change all 'double' to this. problem is that i don't like to rewrite all calculations to something like temp=qty;temp*=price;temp*=discount;temp/=100; when original was temp=qty*price*discount/100, i think everyone understand why ;-) is there any good and working approach how to makeit possible? another possibility is to use long long type and have all numbers multiplied by 10000 and handle this correctly when making multiplications and divisions. but problem is that this code should be portable and long long is not supported properly everywhere (at the moment i am not sure if it was pocket pc team or c++ builder which told me this). so i would use it only if everything else will fail any other idea? -- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
-- For information on using the PalmSource Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
