#include <iostream>
using namespace std;

class M{
    public: int database=0;
    M& operator=(M&& other){
        this->database=other.database;
        other.database=0;
        return *this;

    }
    M(M &&other) {
        *this = std::move(other);
    }
    M (M& m)=default;
    M ()=default;
    ~M() { /* free db */ }
};

class B{ 
    public: M shouldMove;
    //~B(){}
};

int main() {
    B b;
    B b2=std::move(b);
    return 0;
}