我在程序中遇到动态绑定功能问题。
Building[] b = new Building[3];//creates the object b
b[0] = new Building(squarefootage, stories);
b[1] = new House(squarefootage, stories, beds, baths);
b[2] = new School(squarefootage, stories, classes);
b[0].get_squarefootage();//calls the user to enter the area
b[0].get_stories();//calls the user to enter the floors
b[1].get_bedrooms();
b[1].get_bathrooms();
我收到lines b[1].get_bedrooms();
和b[1].get_bathrooms();
的错误,它找不到符号get_bathrooms和get_bedrooms。我在子类House
中有这些函数,并将它分配给数组中的[1]插槽。为什么它没有在子类中注册该函数?感谢您的帮助,也许没有解释自己最好的,我在这里新...
答案 0 :(得分:0)
如果使用多态数组,则必须对这些值进行类型转换。
((House)b[1]).get_bedrooms();
当你最初听到它时,多态性听起来是一个非常有用的功能,它非常有用,但不是很有用。