ok here is what i have
Code:
#include <iostream>
#include <cmath>
using namespace std;
class Point
{
private:
int x;
int y;
friend class Circle;
public:
//constructor
Point(int xval = 0, int yval = 0)
{
x = xval;
y = yval;
}
//input
friend istream & operator >>(istream &in, Point &P)
{
cout << "Enter x value: ";
cin >> P.x;
cout << "Enter y value: ";
cin >> P.y;
return in;
}
};
class Circle //Circle class
{
private:
Point C;
float radius;
public:
//constructors
Circle() //radius = 0, center = (0,0)
{
radius = 0;
}
Circle(float r) //radius = r, center = (0,0)
{
radius = r;
}
Circle(Point P, float r) //radius = r, center = P
{
radius = r;
C.x = P.x;
C.y = P.y;
}
int getX()
{
return C.x;
}
int getY()
{
return C.y;
}
//input, output
friend istream & operator >>(istream &in, Circle &CC)
{
cin >> CC.C;
cout << "Enter radius: ";
cin >> CC.radius;
return in;
}
friend ostream & operator >>(ostream &out, Circle &CC) //needs 2D array
//scale
void operator * (float a)
{
radius = radius*a;
}
//move
void moveTo(Point P)
{
C.x = P.x;
C.y = P.y;
}
void moveBy(Point P)
{
C.x = C.x+P.x;
C.y = C.y+P.y;
}
//compare
friend bool operator == (Circle C1, Circle C2)
{
cout << "Enter values for first circle: " << endl;
cin >> C1;
cout << endl;
cout << "Enter values for second circle: " << endl;
cin >> C2;
double distance = sqrt(pow((C2.getX()-C1.getX())/1.0,2)+pow((C2.getY()-C1.getY())/1.0,2)); //distance between centers
float radtotal = C1.radius+C2.radius; //sum of radii
if(radtotal > distance)
{
return true;
}
else
{
return false;
}
}
friend bool operator != (Circle C1, Circle C2)
{
cout << "Enter values for first circle: " << endl;
cin >> C1;
cout << endl;
cout << "Enter values for second circle: " << endl;
cin >> C2;
double distance = sqrt(pow((C2.getX()-C1.getX())/1.0,2)+pow((C2.getY()-C1.getY())/1.0,2)); //distance between centers
float radtotal = C1.radius+C2.radius; //sum of radii
if(radtotal > distance)
{
return false;
}
else
{
return true;
}
}
friend bool operator < (Circle C1, Circle C2)
};
i still need the *'s to print the circle