Connecting Tech Pros Worldwide Help | Site Map

using two operators in same line

ankitks@yahoo.com
Guest
 
Posts: n/a
#1: Oct 20 '06
Hello programmers,
I am trying to write a class which has a two operators # and <=, so
that I can do something like this.
...
Array mArray;
.....
#4 mArray <= 5; //is this possible to have for # operator to have
nothing on LHS, I can get <= operator work, mArray <=5, but can't think
of anyway to combined both operator togeather! can return refrence to
Array in <= operator to do something like (4# mArray <= 5) to work.

Idealy I like to have #4 mArray <= 5;
but I can live with some other versions, 4# mArray <= 5 or (mArray <=
5) #4 (really not prefer this!)

Any suggestions, comments, help?

class defination for Array
class Array
{
public:
Array();
~Array():
operator<= (const int inIndex) {mIndex = inIndex;}
friend ?? operotor# (const Array& in Array)
private:
int mIndex;
};

ankitks@yahoo.com
Guest
 
Posts: n/a
#2: Oct 20 '06

re: using two operators in same line


sorry, also forgot one more important point,
how can I have a higher precedence set for <= operator. Assignments
should always evaluate <= first and after that #)

thanks

ankitks@yahoo.com wrote:
Quote:
Hello programmers,
I am trying to write a class which has a two operators # and <=, so
that I can do something like this.
..
Array mArray;
....
#4 mArray <= 5; //is this possible to have for # operator to have
nothing on LHS, I can get <= operator work, mArray <=5, but can't think
of anyway to combined both operator togeather! can return refrence to
Array in <= operator to do something like (4# mArray <= 5) to work.
>
Idealy I like to have #4 mArray <= 5;
but I can live with some other versions, 4# mArray <= 5 or (mArray <=
5) #4 (really not prefer this!)
>
Any suggestions, comments, help?
>
class defination for Array
class Array
{
public:
Array();
~Array():
operator<= (const int inIndex) {mIndex = inIndex;}
friend ?? operotor# (const Array& in Array)
private:
int mIndex;
};
red floyd
Guest
 
Posts: n/a
#3: Oct 20 '06

re: using two operators in same line


ankitks@yahoo.com wrote:
Quote:
Hello programmers,
I am trying to write a class which has a two operators # and <=, so
that I can do something like this.
..
Array mArray;
....
#4 mArray <= 5; //is this possible to have for # operator to have
nothing on LHS, I can get <= operator work, mArray <=5, but can't think
of anyway to combined both operator togeather! can return refrence to
Array in <= operator to do something like (4# mArray <= 5) to work.
>
Idealy I like to have #4 mArray <= 5;
but I can live with some other versions, 4# mArray <= 5 or (mArray <=
5) #4 (really not prefer this!)
>
Any suggestions, comments, help?
>
class defination for Array
class Array
{
public:
Array();
~Array():
operator<= (const int inIndex) {mIndex = inIndex;}
friend ?? operotor# (const Array& in Array)
private:
int mIndex;
};
>

First of all, you *can't* define operator#. There is no such operator.
Given that, you're toast anyways.
ankitks@yahoo.com
Guest
 
Posts: n/a
#4: Oct 20 '06

re: using two operators in same line


thanks, good to know, how about using then ^ or @
red floyd wrote:
Quote:
ankitks@yahoo.com wrote:
Quote:
Hello programmers,
I am trying to write a class which has a two operators # and <=, so
that I can do something like this.
..
Array mArray;
....
#4 mArray <= 5; //is this possible to have for # operator to have
nothing on LHS, I can get <= operator work, mArray <=5, but can't think
of anyway to combined both operator togeather! can return refrence to
Array in <= operator to do something like (4# mArray <= 5) to work.

Idealy I like to have #4 mArray <= 5;
but I can live with some other versions, 4# mArray <= 5 or (mArray <=
5) #4 (really not prefer this!)

Any suggestions, comments, help?

class defination for Array
class Array
{
public:
Array();
~Array():
operator<= (const int inIndex) {mIndex = inIndex;}
friend ?? operotor# (const Array& in Array)
private:
int mIndex;
};
>
>
First of all, you *can't* define operator#. There is no such operator.
Given that, you're toast anyways.
Puppet_Sock
Guest
 
Posts: n/a
#5: Oct 20 '06

re: using two operators in same line


ankitks@yahoo.com wrote:
Quote:
red floyd wrote:
Quote:
ankitks@yahoo.com wrote:
Quote:
I am trying to write a class which has a two operators # and <=, so
[snips, and top posting corrected]
Quote:
Quote:
First of all, you *can't* define operator#. There is no such operator.
Given that, you're toast anyways.
thanks, good to know, how about using then ^ or @
Well, what would operator # do if it did exist? What are you
trying to get from it?

Um. I don't think there's an operator @, is there?
Socks

Ron Natalie
Guest
 
Posts: n/a
#6: Oct 20 '06

re: using two operators in same line


Puppet_Sock wrote:
Quote:
Um. I don't think there's an operator @, is there?
Socks
>
@ and $ do not exist in the C++ syntax anywhere
(outside of char/string literals).

ankitks@yahoo.com
Guest
 
Posts: n/a
#7: Oct 20 '06

re: using two operators in same line


if operator # exit, I like to do something

operator# (const int inCount) {mIndex = mIndex * inCount;}

this is just example.



Puppet_Sock wrote:
Quote:
ankitks@yahoo.com wrote:
Quote:
red floyd wrote:
Quote:
ankitks@yahoo.com wrote:
I am trying to write a class which has a two operators # and <=, so
>
[snips, and top posting corrected]
>
Quote:
Quote:
First of all, you *can't* define operator#. There is no such operator.
Given that, you're toast anyways.
thanks, good to know, how about using then ^ or @
>
Well, what would operator # do if it did exist? What are you
trying to get from it?
>
Um. I don't think there's an operator @, is there?
Socks
Thomas J. Gritzan
Guest
 
Posts: n/a
#8: Oct 20 '06

re: using two operators in same line


ankitks@yahoo.com schrieb:
Quote:
Hello programmers,
I am trying to write a class which has a two operators # and <=, so
that I can do something like this.
..
Array mArray;
....
#4 mArray <= 5; //is this possible to have for # operator to have
nothing on LHS, I can get <= operator work, mArray <=5, but can't think
of anyway to combined both operator togeather! can return refrence to
Array in <= operator to do something like (4# mArray <= 5) to work.
[...]

There is no # operator, and I doubt that your <= operator is an "lesser
equal" operator. Don't confuse other compilers by changing the meaning of
operators.

Read the FAQ on operator overloading:
http://www.parashift.com/c++-faq-lit...erloading.html

--
Thomas
http://www.netmeister.org/news/learn2quote.html
Marcus Kwok
Guest
 
Posts: n/a
#9: Oct 20 '06

re: using two operators in same line


ankitks@yahoo.com wrote:
Quote:
sorry, also forgot one more important point,
how can I have a higher precedence set for <= operator. Assignments
should always evaluate <= first and after that #)
You can not change the precedence (or associativity) of operators. This
is why it is not recommened to overload operator^ to do exponentiation,
for example; see:
http://www.parashift.com/c++-faq-lit....html#faq-13.7

--
Marcus Kwok
Replace 'invalid' with 'net' to reply
Rolf Magnus
Guest
 
Posts: n/a
#10: Oct 20 '06

re: using two operators in same line


ankitks@yahoo.com wrote:
Quote:
if operator # exit, I like to do something
>
operator# (const int inCount) {mIndex = mIndex * inCount;}
>
this is just example.
Operator overloading is for doing things with your own types that are
logically similar to what the same operator would do with built-in types.
It is supposed to help you extend the langage, not change it into a
different one. Since there is no operator# for built-in types, there is
nothing useful it could do and so you can't define your own either.
You can overload operator^, but only as a binary operator (i.e. having two
arguments, one on the left and one on the right side). It's supposed to do
a bitwise exclusive or of the two arguments.

Daniel T.
Guest
 
Posts: n/a
#11: Oct 20 '06

re: using two operators in same line


In article <1161368250.987108.85010@f16g2000cwb.googlegroups. com>,
ankitks@yahoo.com wrote:
Quote:
Hello programmers,
I am trying to write a class which has a two operators # and <=, so
that I can do something like this.
You cannot invent operators, all you can do is implement the operators
that already exist.

--
There are two things that simply cannot be doubted, logic and perception.
Doubt those, and you no longer*have anyone to discuss your doubts with,
nor any ability to discuss them.
Closed Thread