operator-overloading

How can i obtain in C# a specific operator's function?

Is it possible to obtain the function behind a C# operator? For example in F# you can do let add = (+);; val add : (int -> int -> int) Is it possible in c# to do something like this: Func<int, int, int> add = (+); or Func<int, int, int> add = Int32.(+) ? ...

What happens if "== operator is not defined"?

What happens if "== operator is not defined"? Example: class a { int variable = 0; } class b { void proc() { a ref1 = new a(); a ref2 = new a(); bool cmp1 = ref1 == ref2;//? bool cmp2 = ref1 == ref1;//? } } Does it differ when working with structs? How about marshaled (System.Runtime...

Operator overloading in C++

If you overload - like operator-(), it is to be used to the left of the object, however overloading () like operator()() it is used to the right of the object. How do we know which operator is to be used on the left and which ones to be used on the right? ...

Overload dereference operator

I'm trying to overload the dereference operator, but compiling the following code results in the error 'initializing' : cannot convert from 'X' to 'int': struct X { void f() {} int operator*() const { return 5; } }; int main() { X* x = new X; int t = *x; delete x; return -898; } What am I doing wrong? ...

can i overload a method with another one that takes the same parameters but has a diferent return type?

For example can i have something like this: public static void SAMENAME (sameparameter n) { some code ; } public static String SAMENAME (sameparameter n) { similar code; return someString ; } ...

question regarding "this" pointer in c++

hello there, i have been given class with int variables x and y in private, and an operator overload function, class Bag{ private: int x; int y; public: Bag(); ~Bag(); //....... //.....etc }; Bag operator+ (Bag new) const{ Bag result(*this); //what does this mean? result.x += new.x; resul...

operator[][] C++

I'd like to overload operator[][] to give internal access to a 2D array of char in C++. Right now I'm only overloading operator[], which goes something like class Object { char ** charMap ; char* operator[]( int row ) { return charMap[row] ; } } ; It works ok.. Is it possible to override operator[][] though? ...

Question about implicit operator overloading in c#

MyClass c = 10; Is there any way to make this code work? I know that through the implicit operator overloading you can get the opposite to work: int i = instanceOfMyClass; Thanks ...

C++ operator overloading doubt

I have a code base, in which for Matrix class, these two definitions are there for () operator: template <class T> T& Matrix<T>::operator() (unsigned row, unsigned col) { ...... } template <class T> T Matrix<T>::operator() (unsigned row, unsigned col) const { ...... } One thing I understand is that the second one does not re...

overloaded stream insertion operator with a vector

I'm trying to write an overloaded stream insertion operator for a class who's only member is a vector. It's a vector of Points, which is a struct containing two doubles. I figure what I want is to insert user input (a bunch of doubles) into a stream that I then send to a modifier method. I'm working off other stream insertion examples su...

"Find all References" for operator overload in visual studio or other IDE

Hi Im looking at some codes (in C++) and it gets quite confusing when there is operator overloading. Is there a simpler way to find out whether "()" or any other symbol is overloaded? ...

C++ Operator overloading - 'recreating the Vector'

I am currently in a collage second level programing course... We are working on operator overloading... to do this we are to rebuild the vector class... I was building the class and found that most of it is based on the [] operator. When I was trying to implement the + operator I run into a weird error that my professor has not seen bef...

Overload assignment operator for assigning sql::ResultSet to struct tm

Are there exceptions for types which can't have thier assignment operator overloaded? Specifically, I'm wanting to overload the assignment operator of a struct tm (from time.h) so I can assign a sql::ResultSet to it. I already have the conversion logic: sscanf(sqlresult->getString("StoredAt").c_str(), "%d-%d-%d %d:%d:%d", &TempTimeS...

Unformatted output in operator <<

I have a class that contains decoded video frames. I would like my decoder to use an output_iterator to write those frames to different targets. In order to support writing directly to a file, I want to overload operator << for my decoded frame class (for use with ostream_iterator). The problem is, that operator << is meant to be used fo...

how to cout a vector of structs (that's a class member, using extraction operator)

hi, i'm trying to simply cout the elements of a vector using an overloaded extraction operator. the vector contians Point, which is just a struct containing two doubles. the vector is a private member of a class called Polygon, so heres my Point.h #ifndef POINT_H #define POINT_H #include <iostream> #include <string> #include <sstream> s...

C# String Operator Overloading

G'Day Mates - What is the right way (excluding the argument of whether it is advisable) to overload the string operators <, >, <= and >= ? I've tried it five ways to Sunday and I get various errors - my best shot was declaring a partial class and overloading from there, but it won't work for some reason. namespace System { public ...

wrong operator() overload called

okay, I am writing a matrix class and have overloaded the function call operator twice. The core of the matrix is a 2D double array. I am using the MinGW GCC compiler called from a windows console. the first overload is meant to return a double from the array (for viewing an element). the second overload is meant to return a reference ...

Operator Overloading in C

In C++, I can change the operator on a specific class by doing something like this: MyClass::operator==/*Or some other operator such as =, >, etc.*/(Const MyClass rhs) { /* Do Stuff*/; } But with there being no classes (built in by default) in C. So, how could I do operator overloading for just general functions? For example, if...

operator<< cannot output std::endl -- Fix?

The following code gives an error when it's supposed to output just std::endl: #include <iostream> #include <sstream> struct MyStream { std::ostream* out_; MyStream(std::ostream* out) : out_(out) {} std::ostream& operator<<(const std::string& s) { (*out_) << s; return *out_; } }; template<class OutputStream> struct Foo...

C++ addition overload ambiguity

I am coming up against a vexing conundrum in my code base. I can't quite tell why my code generates this error, but (for example) std::string does not. class String { public: String(const char*str); friend String operator+ ( const String& lval, const char *rval ); friend String operator+ ( const char *lval, const String& rv...