Connecting Tech Pros Worldwide Help | Site Map

using two operators in same line

 
LinkBack Thread Tools Search this Thread
  #1  
Old October 20th, 2006, 06:05 PM
ankitks@yahoo.com
Guest
 
Posts: n/a
Default using two operators in same line

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;
};


  #2  
Old October 20th, 2006, 06:05 PM
ankitks@yahoo.com
Guest
 
Posts: n/a
Default 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;
};
  #3  
Old October 20th, 2006, 06:05 PM
red floyd
Guest
 
Posts: n/a
Default 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.
  #4  
Old October 20th, 2006, 06:15 PM
ankitks@yahoo.com
Guest
 
Posts: n/a
Default 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.
  #5  
Old October 20th, 2006, 06:55 PM
Puppet_Sock
Guest
 
Posts: n/a
Default 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

  #6  
Old October 20th, 2006, 07:05 PM
Ron Natalie
Guest
 
Posts: n/a
Default 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).

  #7  
Old October 20th, 2006, 07:05 PM
ankitks@yahoo.com
Guest
 
Posts: n/a
Default 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
  #8  
Old October 20th, 2006, 07:15 PM
Thomas J. Gritzan
Guest
 
Posts: n/a
Default 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
  #9  
Old October 20th, 2006, 07:35 PM
Marcus Kwok
Guest
 
Posts: n/a
Default 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
  #10  
Old October 20th, 2006, 08:05 PM
Rolf Magnus
Guest
 
Posts: n/a
Default 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.

  #11  
Old October 20th, 2006, 09:45 PM
Daniel T.
Guest
 
Posts: n/a
Default 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.
 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,840 network members.