是的...因为是虚拟语气...从后面的would可以看出来,如果用have后面应该用的是will
句子意思是如果他能多吃少说,他们俩人都会很享用这个晚餐.从意思也可以知道 他没有这么做,所以用虚拟语气做了个假设