Overloaded constructor, pointer

#include <iostream>
using namespace std;

class Circle {
  double radius;
public:
  Circle ();
  Circle (double);
  ~Circle(); 
  double area (void) {return (3.141593*radius*radius);}
};

Circle::Circle( double r)
{
  radius = r; 
  return; 
}
Circle::Circle()
{
  radius = 10; 
  return; 
}
Circle::~Circle()
{
  cout << "good bye \n"; 
}

int main () {
  Circle crcl(3);
  Circle crcl1;
  Circle *ptr; 
  ptr = &crcl1; 
  cout << "area: " << crcl.area() << endl;
  cout << "area: " << crcl1.area() << endl;
  cout << "area: " << ptr->area() << endl;
  return 0;
}