This is answered by C++11 12.1/5:
If there is no user-declared constructor for class
X
, a constructor having no parameters is implicitly declared as defaulted.
So as soon as you declare any other constructor (even if as defaulted or deleted), there's no implicitly declared default constructor.
Example:
#include <type_traits>
struct A { };
struct B { B(B &&) = delete; };
static_assert(std::is_default_constructible<A>::value, "A");
static_assert(!std::is_default_constructible<B>::value, "B");