發一下牢騷和主題無關:
如果子類中有虛函數則先将子類的虛函數入棧,然後是父類的虛函數,如果子類寫重了父類的虛函數,則入棧的是子類寫重的函數,即寫重的子類的函數替換對應的父類的虛函數。
如://A.h
#ifndef __A_H
#define __A_H
#include <iostream>
using namespace std;
class A{
//private:
virtual void f()
{
cout<<"A::f"<<endl;
}
virtual void g(){
cout<<"A::g"<<endl;
};
#endif
//B.h
每日一道理
天又快黑了,這座忙碌的城市又将入睡,讓這勞累的“身軀”暫别白日的辛勤,讓它入睡,陪伴着城市中的人們進入夢鄉。當空的彎月正深情地注視着這座城市與城市中的人們,看着家家戶戶的燈漸漸熄滅,它在床頭悄悄奏響“明月曲”……
#ifndef __B_H
#define __B_H
//#include <iostream>
#include "A.h"
class B:public A{
void d()
cout<<"B::d"<<endl;
virtual void h()
cout<<"B::h"<<endl;
#endif
//main.cpp