class Foo
{
public:
  Foo(int i);

  Foo(double d)
    : Foo(static_cast<int>(d))
  {
  }

private:
  int m_i;
};