已采纳回答 / qq_梵蒂冈_1
基类实例化对象不能赋值给派生类的实例化对象(引用也不可以),只能用派生类的对象去赋值或初始化基类的对象,和用基类的指针指向派生类。如:worker wo;person per;worker &wor=wo;person *p=&wo;*p=wor;per=wor;
2017-01-03
已采纳回答 / 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