| | |
Overloaded + operator not working correctly.
Thread Solved
![]() |
•
•
Join Date: Feb 2008
Posts: 12
Reputation:
Solved Threads: 0
I am trying to use an overloaded + operator to find the total balance for two values. I am messing up with the way to set them up, or forgetting something. I am getting values such as -9.543e2433
The code I am using for the operator is
I've looked for examples to see if I did it wrong, but from what I have looked at, it should have worked, unless I am not noticing something.
Any tips or suggestions on how I could go about fixing it would help me greatly.
The code I am using for the operator is
C++ Syntax (Toggle Plain Text)
Account operator+(Account &right) { Account temp; int temp2; temp2 = (savings + right.getchecking()); temp.setTotalBalance(temp2); return temp; }
I've looked for examples to see if I did it wrong, but from what I have looked at, it should have worked, unless I am not noticing something.
Any tips or suggestions on how I could go about fixing it would help me greatly.
It looks like it should work. Use your compiler's debugger and set a break point on that return statement then when the program gets to that point you can inspect the value of all the variables. If you don't know how to do that then just put some cout statements to display the variable values.
Don't PM me with questions -- you might get a nasty PM in response. If you have a question then post it in one of the forums.
•
•
Join Date: Feb 2008
Posts: 12
Reputation:
Solved Threads: 0
I have cout statements to show the values for them and they are showing up correctly.
I am thinking it has to do with the way I am using it, I followed an example and I may have left something out.
That is how I am trying to use it to find the values.
-- Edit--
I am working on a way to try and fix it, not sure if it will work. If it does, I will post it to show how I fixed it. (not quite sure it will work)
I am thinking it has to do with the way I am using it, I followed an example and I may have left something out.
C++ Syntax (Toggle Plain Text)
cout << total.getTotalBalance() << endl;
That is how I am trying to use it to find the values.
-- Edit--
I am working on a way to try and fix it, not sure if it will work. If it does, I will post it to show how I fixed it. (not quite sure it will work)
Last edited by Jaycii; Feb 17th, 2008 at 8:04 pm.
C++ Syntax (Toggle Plain Text)
Account operator+(Account &right) should be Account Account::operator+(const Account &right)
Last edited by gerard4143; Feb 17th, 2008 at 8:07 pm.
•
•
Join Date: Feb 2008
Posts: 12
Reputation:
Solved Threads: 0
If I switch it over to the way you just posted, I get the following error:
error C2662: 'getchecking' : cannot convert 'this' pointer from 'const class Account' to 'class Account &'
Conversion loses qualifiers
That is when I use this code
--
And the way I was trying to fix it didn't work, so back to step one, looking for what could be doing it.
-- Edit--
Looking back at that, since you input the data after running the program, none of the values are constant, which is the reason for that error I believe.
error C2662: 'getchecking' : cannot convert 'this' pointer from 'const class Account' to 'class Account &'
Conversion loses qualifiers
That is when I use this code
C++ Syntax (Toggle Plain Text)
Account Account::operator+(const Account &right) { Account temp; int temp2; temp2 = (savings + right.getchecking()); temp.setTotalBalance(temp2); return temp; }
--
And the way I was trying to fix it didn't work, so back to step one, looking for what could be doing it.
-- Edit--
Looking back at that, since you input the data after running the program, none of the values are constant, which is the reason for that error I believe.
Last edited by Jaycii; Feb 17th, 2008 at 8:14 pm.
•
•
•
•
If I switch it over to the way you just posted, I get the following error:
error C2662: 'getchecking' : cannot convert 'this' pointer from 'const class Account' to 'class Account &'
Conversion loses qualifiers
That is when I use this code
C++ Syntax (Toggle Plain Text)
Account Account::operator+(const Account &right) { Account temp; int temp2; temp2 = (savings + right.getchecking()); temp.setTotalBalance(temp2); return temp; }
--
And the way I was trying to fix it didn't work, so back to step one, looking for what could be doing it.
-- Edit--
Looking back at that, since you input the data after running the program, none of the values are constant, which is the reason for that error I believe.
•
•
Join Date: Feb 2008
Posts: 12
Reputation:
Solved Threads: 0
getchecking() doesn't, but TotalBalance which is a member of Account does get changed when the two values are added.
I think I know the problem, but not sure how to fix it.
The variables for savings and checking are showing up, so those are fine. However, I don't think they are getting used inside of the + operator, so its throwing out a strange number.
I've tried a few different ways of combing them, such as
[CustMain would be from Customer CustMain]
and I was going to use that with the since it is what was changed in the operator.
That doesn't work though.
--Edit--
I also tried using , from an example I looked at, but that just brings up quite a few errors.
I think I know the problem, but not sure how to fix it.
The variables for savings and checking are showing up, so those are fine. However, I don't think they are getting used inside of the + operator, so its throwing out a strange number.
I've tried a few different ways of combing them, such as
C++ Syntax (Toggle Plain Text)
CustMain = Customers[0] + Customers[1];
[CustMain would be from Customer CustMain]
and I was going to use that with the
C++ Syntax (Toggle Plain Text)
cout << total.getTotalBalance << endl;
That doesn't work though.
--Edit--
I also tried using
C++ Syntax (Toggle Plain Text)
cout << CustMain.getTotalBalance << endl;
Last edited by Jaycii; Feb 17th, 2008 at 8:43 pm.
![]() |
Other Threads in the C++ Forum
- Previous Thread: How to delete files from a direct pathway?
- Next Thread: simple question regarding array
| Thread Tools | Search this Thread |
action api array auto based beginner binary bitmap c++ c/c++ calculator challenge char class classes code coding compile console conversion count createcopyofanyfileinc delete deploy desktop developer directshow dll download dynamic dynamiccharacterarray email encryption error file forms fstream function functions game garbage givemetehcodez graph gui hmenu homeworkhelp homeworkhelper iamthwee ifstream input insert int integer java lib linkedlist linker loop looping loops map math matrix memory multiple news node noob output parameter pointer primenumbersinrange problem program programming project python random read recursion reference rpg sockets string strings temperature template test text text-file tree url variable vector video win32 windows winsock wordfrequency wxwidgets






