[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now


operator+ question in C++

Posted on 2009-05-03
Medium Priority
Last Modified: 2012-08-14

hello group,

What is wrong with the following code?

The program is not working after this line:
 PiggyBank Combined = bank1 + bank2;

PiggyBank bank1;
PiggyBank bank2;
bank1.setSize( 20 );
bank1.feedCoins( 10, 1, 0, 1 );
bank2.setSize( 20 );
bank2.feedCoins( 10, 0, 0, 0 );
PiggyBank combined = bank1 + bank2;
cout << "combined's value is: " << combined.getValue( ) / 100 << "." <<
     combined.getValue( ) % 100 << endl;

PiggyBank other = combined - bank1;
cout << "other's value is: " << other.getValue( ) / 100 << "." <<
     other.getValue( ) % 100 << endl;
if (combined > other) {
  cout << "looks like combined is bigger..." << endl;
else {
  cout << "looks like other is bigger..." << endl;

if (bank1 > other) {
  cout << "looks like bank1 is bigger..." << endl;
else {
  cout << "looks like other is bigger..." << endl;
if (bank2 < bank1) {
  cout << "looks like bank2 is smaller..." << endl;
else {
  cout << "looks like bank1 is smaller..." << endl;


Question by:akohan
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 86

Expert Comment

ID: 24292055
>>What is wrong with the following code?

The important part is missing ;o)

Author Comment

ID: 24292323

missing ?!
LVL 11

Expert Comment

by:Deepu Abraham
ID: 24292491
Could you please show your class PiggyBank and its function implementation?
Best Regards,
Deepu Abraham K
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 24292714



#include <iostream>
using namespace std;

class PiggyBank {
      PiggyBank( );

      int  getValue( );
      void setSize( int size );
      int  getSize( );
      int  getCoins( );

      void feedCoins( int quarters, int dimes, int nickels, int pennies );
      int  breakOpen( );
      int  myValue;           // the monetary value of this piggybank, in pennies
      int  myNumberOfCoins;   // the actual number of coins in this bank
      int  mySize;            // the most coins this bank can possibly hold


LVL 11

Expert Comment

by:Deepu Abraham
ID: 24292801
You need to implement few functions:
copy constructor
+ operator overloading

LVL 11

Expert Comment

by:Deepu Abraham
ID: 24292802
- operator overloading aswell
LVL 11

Assisted Solution

by:Deepu Abraham
Deepu Abraham earned 200 total points
ID: 24292834
LVL 53

Expert Comment

ID: 24293382
>> The program is not working after this line:

How is it not working ? What do you see, and what did you expect ?

Could you post all of the code ?
LVL 39

Accepted Solution

itsmeandnobodyelse earned 300 total points
ID: 24298268
You would need to add something like

  friend PiggyBank operator+(const PiggyBank& pb1, const PiggyBank& pb2)
      PiggyBank pb;
      return pb;

to your class definition.

The ... should be replaced by code where you assign the members myValue, mySize, ... of pb with appropriate values computed from the input objects.

>>> You need to implement few functions:
>>> copy constructor
Copy constructor wasn't needed as the compiler will create one for you which simply makes a copy of the three int members what is good so.

Featured Post

Tech or Treat! - Giveaway

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
Suggested Courses

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question