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




class Point(x=0, y=0) {
 
}
 
class Circle(x=0, y=0, r=0) {
 
}
 
func pp(Point obj) {
    say "Point at #{obj.x},#{obj.y}";
}
 
func pp(Circle obj) {
    say "Circle at #{obj.x},#{obj.y} with radius #{obj.r}";
}