有了虚函数后,将上述两个B函数都声明成virtual函数,则有
这就是我总结的虚函数的妙用,但应该理解还不是很深刻,欢迎高手拍砖。
回到我之前的问题,MFC中有两个十分重要的虚函数,document中的Sirialize函数和view中的OnDraw函数。而这两个函数又是纯虚函数,需要用户在自己的CMyDoc和CMyView中改写,而我的类继承了CView,却没有改写OnDraw函数,就变成了抽象类,不能对其实例,于是就有了报错“不能实例化抽象类”。bingo!
但是我还没太想好好的解决办法,如果把我做的类继承改为CWnd,我类里的部分函数就无法使用,如getDC()。本身又不想把OnDraw函数复写,所以还请高手给我一种大家通用的方法。