从书上看下面这个代码片断应该是个虚拟方法的调用,不过不明白拿来干什么?
Class Employee
{
public string a(){return "I am"}
}
Class Manager extends Employee
{
public string a(){return super.a()+"a man."}
}
//下面是主类里用虚拟方法的片断
Employee epy=new Manager();
e.a();
Class Employee
{
public string a(){return "I am"}
}
Class Manager extends Employee
{
public string a(){return super.a()+"a man."}
}
//下面是主类里用虚拟方法的片断
Employee epy=new Manager();
e.a();
vptr指向一个v-table,v-table是该类的函数列表,当实例化一个类时,先调用父类,
的constructor,vptr此时指向父类的v-table,接着调用子类的初始化部分,这是vptr
就指向子类的-table,故程序总是能调用正确的函数。
不是多態的的概念(同一類中寫名字相同的Method(),但其parameters是不同的)