![](https://cos-cdn.shuashuati.com/pipixue-web/2020-1231-2005-12/ti_inject-812ce.png)
阅读下列说明、图和C++代码,回答问题1至问题3。 【说明】 已知四个类之间的关系如图2-2所示,分别对每个类的方法进行编号,例如Shape的perimeter()方法为1号,表示为1:perimeter(),Rectangle类的perimeter()为2号,表示为2:perimeter(),依此类推,其中,每个类的perimeter方法都为虚函数且方法签名相同。 【C++代码】 Triangle *tr=new Triangle(); Square *sq=new Square(); Shape *sh =tr; 关于上述C++代码中sh和tr的以下叙述中,哪两个是正确的(写出编号)。 ①sh和tr分别引用同一个对象; ②sh和tr分别引用同一类型的不同的对象: ③sh和tr分别引用不同类型的不同对象; ④sh和tr分别引用同一个对象的不同备份: ⑤sh和tr所引用的内存空间是相同的。