父类指针指向的是子类的实例。然后用该指针调用子类的方法(重写了继承的父类的方法)

void test(Person *person){

//Worker 重写了 Person 的sleep()方法

//此处调用到的是Person的sleep()方法,

//为什么调用的不是Worker的sleep()方法。

person->sleep(); 

}

int main(void) {

        Worker *worker = new Worker;

test(worker);

delete worker;

worker = NULL;

system("pause");

return 0;

}


巴士拉的雕塑
浏览 1627回答 2
2回答

jfhdibrbfjd

    test( Person*person)    // 看这里      |||||      |||||      |||||      |||||     VVVVVVV      VVVVV       VVV        V     test(Worker*person)//在调用就是worker的了
打开App,查看更多内容
随时随地看视频慕课网APP