AFAIK, вы не можете удалить унаследованный конструктор.
Проблема в вашем примере связана с неправильным дизайном класса.
Конструктор обычно используется для распределения ресурсов класса, установки значений по умолчанию и так далее.
Он не совсем подходит для вывода чего-либо.
Вы должны поставить
n() { cout << "daughter" << endl; }
В виртуальную функцию.
В общем - если вам нужно удалить унаследованный конструктор, вам, вероятно, нужно переосмыслить / перестроить иерархию классов.