Ciao a tutti, volevo un semplice chiarimento sull'implementazione di un semplice costruttore in c++, scrivo sotto un esempio:

objectA.j
codice:
class ObjectA {
    public:
       ObjectA(string mystr);
       ~ObjectA();
    private:
       string mystr;
}
objectB.h
codice:
class ObjectB {
    public:
       ObjectB();
       ~ObjectB();
    private:
       ObjectA a1;
}
objectB.cpp
codice:
ObjectB::ObjectB() {
    a1 = ObjectA("Mario"); // è una operazione valida come chiamata al costruttore???
}