Он не вызывается, потому что вы явно попросили компилятор не вызывать его. Когда вы определили свой собственный конструктор копирования для класса fred
, вы по существу сказали компилятору, что хотите взять дело в свои руки и выполнить копирование самостоятельно. Поскольку вы ничего не делаете для копирования member_
в конструкторе копирования fred
, он не копируется.
Если вы избавитесь от явного определения конструктора копирования fred
, компилятор предоставит вам неявный, который вызовет конструктор копирования member
для копирования member_
.
Если вы настаиваете на том, чтобы самостоятельно определить конструктор копирования fred
, вы должны скопировать member_
самостоятельно, как предложил KennyTM.