有如下程序: #include using namespace std; class GrandChild{ public:: GrandChild(){strcpy(name,"Unknown");} co

admin2020-07-23  21

问题 有如下程序:
    #include
    using namespace std;
    class GrandChild{
    public::
    GrandChild(){strcpy(name,"Unknown");}
    const char*get Name()const{return name;)
    virtual char*get Address()const=0;
    private:
    char name[20];
    };
    class GrandSon:public GrandChild{
    public:
    GrandSon(char*name){}
    char*get Address()const{return"Shanghai";}
    };
    int main(){
    GrandChild*gs=new GrandSon("Feifei");
    cout<getName()<<"住在"<get Address()
<    delete gs;
    return 0;
    }
    运行时的输出结果是(    )。

选项 A、Unknown住在Shanghai
B、Feifei住在Shanghai
C、Feife Unknown Shanghai
D、0

答案A

解析 定义Grandson(”Feifei”)时,继承类型中构造函数没有任何操作,则在基类构造函数中把name赋值为”Unknown”,所以gs->get Name()输出name的值”Unknown”。gs->get Address()执行继承类中的get Address函数,输出”Shanghai”。总共输出“Unknown住在Shanghai”。
转载请注明原文地址:https://kaotiyun.com/show/GQyp777K
0

最新回复(0)