选择题   有如下程序:
    #include<iostream>
    using namespace std;
    class Mountain{   
    int height;
    public:
    Mountain(int h=0):height(h){}
    virtual char* GetName()const{return'山';}
    int GetHeight() const{return height;}
    };
    class Lushan:public Mountain{
    Public:
    Lushan(int d):Mountain(d){}
    Char* GetName()const{return'庐山';}
    };
    int main(){
    Mountain *p=new Lushan(1000);
    cout<<p->GetName()<<'海拔'<<p->GetHeight()<<'米';
    return 0;
    }
    运行这个程序的输出结果是______。
 
【正确答案】 A
【答案解析】在基类Mountain中定义了虚函数GetName()输出字符串“山”,而在派生类Lushan中对虚函数GetName()进行了重新定义,输出字符串“庐山”。在主函数中对派生类中的虚函数GetName()进行了多态调用,此时调用的是派生类中重新定义的GetName(),输出字符字符串“庐山”。