The following program have the following output. write the necessary code to make it works?
Code :
#include <iostream>
using namespace std;
class Point
{
private:
int x;
int y;
public:
Point(void);
Point(int newx, int newy);
Point( Point& from );
~Point(void);
Point operator++() {inc(); return *this;}
Point operator--() ;
friend ostream& operator<<(ostream& out, Point p);
void inc();
void setX(int newX);
void setY(int newY);
inline int getX(){return x;}
inline int getY(){return y;}
};
class Circle: public Point
{
float rad;
public:
Circle():Point(0,0), rad(0)
{cout<<"Running Circle Default Contstructor"<< endl;}
Circle(int a, int b, int c): Point(a, b), rad(c)
{cout<<"Running Circle Normal Contstructor"<< endl;}
Circle(Circle & from);
Circle(Point & p);
float getArea();
float getRad();
friend ostream& operator<<(ostream& out, Circle c);
};
main()
{
char a;
{
cout << "Write Your Name Here " << std::endl;
Point p(5,7);
Point r;
Point q(p);
++p;
cout<< q << p;
r=q;
--r;
Circle c1(3, 5, 3), c2(p);
cout << c1 << c2;
}
cin>>a;
}
Write Your Name Here
Point construction using constructor
[5 ,7]
Point construction using default constructor
Point construction using Copy constructor
[5 ,7]
Point construction using Copy constructor
[6 ,8]
[6 ,8]Point destruction
Point construction using Copy constructor
[6 ,8]
Point construction using Copy constructor
[5 ,7]
Point: [5, 7]
Point: [6, 8]
[5 ,7]Point destruction
[6 ,8]Point destruction
Point construction using Copy constructor
[4 ,6]
[4 ,6]Point destruction
Point construction using constructor
[3 ,5]
Running Circle Normal Contstructor
Point construction using default constructor
Circle construction using Conversion constructor
Circle: [6 ,8], Radius=0
Point construction using default constructor
Circle construction using Copy constructor
Circle: [6 ,8], Radius=0
Point construction using default constructor
Circle construction using Copy constructor
Circle: [3 ,5], Radius=3
Circle: [3 ,5], Radius=3 Area=28.26
Circle: [6 ,8], Radius=0 Area=0
[3 ,5]Point destruction
[6 ,8]Point destruction
[6 ,8]Point destruction
[3 ,5]Point destruction
[5 ,7]Point destruction
[4 ,6]Point destruction
[6 ,8]Point destruction