Hi,
#include <iostream>
using namespace std;
class PAIR
{
private:
int a;
int b;
public:
void print();
PAIR();
PAIR(int);
PAIR(int,int);
~PAIR();
void swap();
int diff();
int big();
int area();
};
int main()
{
PAIR c, d(2), e(12,13);
int ans;
c.print();
d.print();
e.print();
e.swap();
e.print();
ans = c.diff();
cout << ans << endl;
e.big();
e.print();
return 0;
}
PAIR::PAIR()
{
a = 2;
b= 3;
}
void PAIR::print()
{
cout << a << " " << b << endl;
}
PAIR:: ~PAIR()
{
cout << "Display Destructor Message" << endl;
}
PAIR::PAIR(int p1)
{
a=p1;
b=p1;
}
PAIR::PAIR(int p1,int p2)
{
a=p1;
b=p2;
}
void PAIR::swap()
{
int c;
c=a;
a=b;
b=c;
}
int PAIR::diff()
{
return b - a;
}
int PAIR::big()
{
if (a > b)
{
return a;
}
else
{
return b;
}
}
The reason is that there is no temporary variable to accept the bigger value returned by the "big()" function and hence you end up printing the original value of your object "e". So you can write something like this:
int big = e.big () ;
cout << "\nThe bigger number is " << big ;
Hope it helped, bye.
Super Moderator
Featured Poster
Reputation Points: 3241
Solved Threads: 719
Failure as a human
Offline 8,873 posts
since Jun 2006