已采纳回答 / qq_倩你一生_04232347
#include "Worker.h"#include <iostream> Worker::Worker(string n,int a):Person(n){ Age=a;}void Worker::work(){ //cout<<Name<<" is "<<Age<<endl; cout<<"work--worker"<<endl;}少加了下划线的地方
2016-10-31
已采纳回答 / 慕后端7037387
我认为是这样,类的成员函数都在代码区,不同的类的成员函数在代码区有自己的类名称空间限制,类的虚函数在虚函数表中,程序执行的时候,是先在虚函数表中找该成员函数,如果没有找到,就去该类在代码区的成员函数中去找。所以如果父类的成员函数加上virtual时,访问的时候是先在虚函数表中查找,如果找到了,就执行,没找到就再在该类的代码区查找。所以父类普通的成员函数只能在父类的代码区找到。也就是说通过父类指针找普通成员函数时,虽然父类指针指向子类对象,通过父类指针只能访问子类对象的数据成员(部分,父类独有的),不能访问...
2016-10-22
最赞回答 / 慕UI8711183
我觉得是这样:虚析构函数,delete父类的指针p,程序会去找父类的指针p指向的地址,该地址就是子类头部虚函数表指针的地址,由指针p找到子类的虚函数表,从而找到子类的虚析构函数。
2016-07-17
已采纳回答 / qq_北暮_03201854
虚构函数是虚析构函数吗?如果是的话。当父类指针指向子类对象时delete指数时,子类的构造函数没办法执行,因为是父类指针不能操作子类函数
2016-06-23