Home › Forums › C Programming › Operator Overloading
- This topic has 0 replies, 1 voice, and was last updated 19 years, 5 months ago by sameena.
- AuthorPosts
- June 9, 2005 at 10:34 am #1900sameenaParticipant
Hi
Doing a course in C++.Net which upto now has been ok and interesting. However Operator Overloading is confusing me to a great deal. There is plenty written on the subject but for Computer Scientists who just love mathematics and complicated text! To find something simple – it does not exist. I can use operator overloading like a parrot but I want to know what exactly is going on…how does the compiler treat an overloaded operator…etc.
We were asked to make an Exponent class that will allow us to overload the ^ operator so that we can perform exponential notation so that you can have iResult=iNumber ^10 where iNumber equals 10 so that iResult equals 1000. This is my zillionth attempt but the overloaded function is not called..please help.
This is the class:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#pragma once<br />#include <iostream><br />#include <string><br />using namespace std;<br />class Exponentor<br />{<br />public:<br />Exponentor(void);<br />~Exponentor(void);<br />//Exponentor operator ^ (int num1);<br />//Exponentor operator ^ (Exponentor&);<br />Exponentor operator^(int num1);<br />int iLeftNum;<br />int iRightNum;<br />int iResult; // no private vars required...<br />};<br />This is the code:<br />#include "exponentor.h"<br /><br />Exponentor::Exponentor(void)<br />{<br />iResult=0;<br />iLeftNum=0;<br />iRightNum=0;<br />}<br /><br />Exponentor::~Exponentor(void)<br />{<br />}<br /><br />void main() {<br />Exponentor Exponent;<br />cout << "Welcome to Exponentor the exponent test programme!n";<br />cout << "**************************************************n";<br />int iRightNumber;<br />cout << "Hello, please give me the left operand:";<br />cin >> iRightNumber;<br />cout << "nand now please give me the right operand:";<br />int iAnyNumber;<br />cin >> iAnyNumber;<br />Exponent.iResult=iRightNumber ^ iAnyNumber;<br />cout << "nThe result of " <<<br />Exponent.iLeftNum << " raised to " << iAnyNumber << "<br />is:" << Exponent.iResult << endl;<br /><br />}<br />//Exponentor operator^(int num1);<br />Exponentor Exponentor::operator^(int num1)<br />{<br />cout << "In the function";<br /><br />return *this;<br />}<br /></string></iostream>Thanks in advance
- AuthorPosts
- The forum ‘C Programming’ is closed to new topics and replies.