When introducing move operations to a class they make it possible to get invalid/empty objects. If your class previously ensured that all objects are valid, now that isn't possible anymore. This has consequences for interface design and it makes sense to introduce default constructors.