Kod:
#include <iostream>
#include <stdio.h>
#include <cmath>
using namespace std;
struct location {
float x;
float y;
};
class Circle
{
private:
struct location location;
float radius;
public:
static int counter;
static int method()
{
return counter;
}
Circle()
{
location.x = 0;
location.y = 0;
radius = 0;
counter++;
}
Circle(struct location tm, float rad)
{
location = tm;
radius = rad;
counter++;
}
~Circle()
{counter--;}
void set_location(struct location temp)
{
location = temp;
}
struct location get_location()
{
return location;
}
void set_radius(float promien)
{
radius = promien;
}
float get_radius()
{
return radius;
}
float area()
{
return M_PI * pow(radius,2);
}
float circumference()
{
return 2 * M_PI * radius;
}
Circle operator+(Circle & r)
{
struct location u;
u.x = ((r.get_location().x) + (get_location().x))/2;
u.y = ((r.get_location().y) + (get_location().y))/2;
float u_radius = r.get_radius()+get_radius();
Circle nowy(u,u_radius);
return nowy;
}
Circle operator*( double & t)
{
struct location u;
u.x = get_location().x;
u.y = get_location().y;
float u_radius = get_radius()*t;
Circle nowy(u,u_radius);
return nowy;
}
};
int Circle::counter = 0;
int main()
{
double m=6.,n=2,b=3;
location w;
w.x=2.;
w.y=4.;
Circle circle;
circle.set_location((location){ 10., 12. });
circle.set_radius(15.);
Circle two(w,6.);
Circle three = circle + two;
Circle four = circle * m;
Circle five = circle*n;
Circle six = three + two;
cout << three.get_location().x<<endl;
cout << three.get_location().y<<endl;
cout << three.get_radius()<<endl;
cout <<endl;
cout << four.get_location().x<<endl;
cout << four.get_location().y<<endl;
cout << four.get_radius()<<endl;
cout <<endl;
cout << five.get_location().x<<endl;
cout << five.get_location().y<<endl;
cout << five.get_radius()<<endl;
cout <<endl;
cout << six.get_location().x<<endl;
cout << six.get_location().y<<endl;
cout << six.get_radius()<<endl;
cout <<endl;
cout <<"Liczba istniejacych obiektow wynosi: " <<Circle::method();
cout <<endl;
return 0;
}
W pierwszym kroku rozbij projekt na trzy pliki. W pierwszym (main.cpp) zawrzyj funkcję main(). W dwóch pozostałych (Circle.h i Circle.cpp) zawrzyj kolejno interfejs i implementację klasy.
Zakładki