Parce que ton instance est un B. Pour utiliser le polymorphisme, tu dois le réaliser avec un pointeur ou une référence. Ce que tu réalises actuellement, c'est un b par défaut, puis une copie d'un B...