Task

Create two classes   Point(x,y)   and   Circle(x,y,r)   with a polymorphic function print, accessors for (x,y,r), copy constructor, assignment and destructor and every possible default constructors




mutable struct Point
	x::Float64
	y::Float64
end
 
Base.show(io::IO, p::Point) = print(io, "Point($(p.x), $(p.y))")
 
getx(p::Point) = p.x
gety(p::Point) = p.y
 
setx(p::Point, x) = (p.x = x)
sety(p::Point, y) = (p.y = y)
 
mutable struct Circle
	x::Float64
	y::Float64
	r::Float64
end
 
getx(c::Circle) = c.x
gety(c::Circle) = c.y
getr(c::Circle) = c.r
 
setx(c::Circle, x) = (c.x = x)
sety(c::Circle, y) = (c.y = y)
setr(c::Circle, r) = (c.r = r)
 
Base.show(io::IO, c::Circle) = print(io, "Circle($(c.x), $(c.y), $(c.r))")