考虑以下一对相关结构的声明。后代类不添加任何成员变量,唯一的成员函数是一个构造函数,它除了将其所有参数转发给基类的构造函数外什么都不做。structBase{Base(inta,charconst*b):a(a),b(b){}inta;charconst*b;};structDescendant:Base{Descendant(inta,charconst*b):Base(a,b){}};现在考虑使用这些类型的以下代码。函数foo期望接收一个Base数组。但是,main定义了一个Descendant数组并将其传递给foo。voidfoo(Base*array,unsignedlen){