关于虚拟语气的一个问题

题目:
  I wish I ____ longer this morning, but I had to get up and come to class.
选项:
  A. could have slept
  B. slept
  C. might have slept
  D. have slept
答案:
  D
------
  语法书中写的是——
⒈一般过去时或者would/could+do,表示对现在或将来的愿望;
⒉had+v.-ed或would/could have+v.-ed,表示对易发生的事表示遗憾。
  既然这是对今天上午的事情(已过去)的愿望,那么我认为A才合理。请大神解释D是怎么来的?有高分追加🙏

第1个回答  2018-02-03
 A.用wish表示对现在的愿望时,它所引起的宾语从句中谓语动词形式为:过去式(be动词用were). 
B.用wish表示对将来的愿望时,它所引起的宾语从句中谓语动词形式为:would,could,might+ 动词原形. 
C.wish用于对过去的事实表示一种不可能实现的愿望时,宾语从句中的谓语动词形式为:had+动词过去分词或could,would + have +动词过去分词. (这里不用might)
The picture exhibition bored me to death; I wish I had not gone to it. 
---“I let Joe borrow our radio for the afternoon.” 
---“That’s all right,but I wish he would buy one of his own.” 
I wish that he weren’t so lazy. 
“I_ longer this morning”是wish后的宾语从句,然后从句子“but I had to get up and come to class.”我们可以看出,这件事虽然是在今天,但是已经是过去的事情了(后面用的是过去时).所以本题就属于wish用法的第二种情况,所以这个题选A。追问

这么说你也认为是答案错了?

追答

也许吧

第2个回答  2018-02-03

我认为是had slept ,没懂为什么是have

本回答被提问者采纳