C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

how do I overload (type) operator?

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language (comp.lang.c++)
View previous topic :: View next topic  
Author Message
sean worlock
Guest





PostPosted: Thu Oct 28, 2004 6:47 am    Post subject: how do I overload (type) operator? Reply with quote



I have written a simple class that modals the action of a complex number.
This class is called CComplex.
I wish to make my class as versatile as possable.
Thus lets say I have some variables defined as following:

int value1;
double value2;
float value3;

and three Complex objects defined as:

CComplex ONE,TWO,THREE;

I wish to perform the following...

ONE=(CComplex) value1;
TWO=(CComplex) value2;
THREE=(CComplex) value3;

thus I need to create a type operator for my CComplex class.
I have read many texts for the conversion of my class into other types but
not the other way.

could anybody point me in the correct direction for the prototype and
function syntax to complete this?




Back to top
Catalin Pitis
Guest





PostPosted: Thu Oct 28, 2004 6:51 am    Post subject: Re: how do I overload (type) operator? Reply with quote




"sean worlock" <sean_worlock (AT) sworlock (DOT) freeserve.co.uk> wrote

Quote:
I have written a simple class that modals the action of a complex number.
This class is called CComplex.
I wish to make my class as versatile as possable.
Thus lets say I have some variables defined as following:

int value1;
double value2;
float value3;

and three Complex objects defined as:

CComplex ONE,TWO,THREE;

I wish to perform the following...

ONE=(CComplex) value1;
TWO=(CComplex) value2;
THREE=(CComplex) value3;

thus I need to create a type operator for my CComplex class.
I have read many texts for the conversion of my class into other types but
not the other way.

could anybody point me in the correct direction for the prototype and
function syntax to complete this?


Just define constructor:

CComplex::CComplex( double value).

The statements can be then rewritten like:

ONE=value1;
TWO=value2;
THREE=value3;

Catalin



Back to top
Nicolas Pavlidis
Guest





PostPosted: Thu Oct 28, 2004 9:02 am    Post subject: Re: how do I overload (type) operator? Reply with quote



sean worlock wrote:

Quote:
I have written a simple class that modals the action of a complex number.
This class is called CComplex.
I wish to make my class as versatile as possable.
Thus lets say I have some variables defined as following:

int value1;
double value2;
float value3;

and three Complex objects defined as:

CComplex ONE,TWO,THREE;

I wish to perform the following...

ONE=(CComplex) value1;
TWO=(CComplex) value2;
THREE=(CComplex) value3;

thus I need to create a type operator for my CComplex class.
I have read many texts for the conversion of my class into other types but
not the other way.

could anybody point me in the correct direction for the prototype and
function syntax to complete this?

You can template the the hole class:

template<typename UnderLyingType>
class CComplex

Mayby you'd have to check if the type is a correct one, such as double
and so on.

HTH && Kind regards,
Nicolas

Back to top
Tom Widmer
Guest





PostPosted: Thu Oct 28, 2004 10:17 am    Post subject: Re: how do I overload (type) operator? Reply with quote

On Thu, 28 Oct 2004 09:51:48 +0300, "Catalin Pitis"
<catalin.pitis (AT) iquestint (DOT) com.renameme> wrote:

Quote:

"sean worlock" <sean_worlock (AT) sworlock (DOT) freeserve.co.uk> wrote in message
news:clq4mr$rvm$1 (AT) news8 (DOT) svr.pol.co.uk...
I have written a simple class that modals the action of a complex number.
This class is called CComplex.
I wish to make my class as versatile as possable.
Thus lets say I have some variables defined as following:

int value1;
double value2;
float value3;

and three Complex objects defined as:

CComplex ONE,TWO,THREE;

I wish to perform the following...

ONE=(CComplex) value1;
TWO=(CComplex) value2;
THREE=(CComplex) value3;

thus I need to create a type operator for my CComplex class.
I have read many texts for the conversion of my class into other types but
not the other way.

could anybody point me in the correct direction for the prototype and
function syntax to complete this?


Just define constructor:

CComplex::CComplex( double value).

The statements can be then rewritten like:

ONE=value1;
TWO=value2;
THREE=value3;

Note that if you (the OP) want to require the cast notation, you can
declare the constructor "explicit". e.g.

explicit CComplex(double value); //don't use explicit in definition

I can't think of a good reason why you would want to do this though.
Also note that there is a perfectly good complex number class that is
part of the standard library: std::complex<double>, declared in the
<complex> header.

Tom

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language (comp.lang.c++) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.