友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

深入浅出MFC第2版(PDF格式)-第22部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!


    ■ 当     指向销售员,我希望                    是销售员的薪水计算式,也就 



       是CSales ::put ePay 。 



       pE mp                pE mp …》put ePay  

    ■ 当     指向时薪职员,我希望                    是时薪职员的薪水计算式, 



       也就是CWage::put ePay 。 



    虚拟函数正是为了对「如果你以一个基础类别之指针指向一个衍生类别之对象,那么透 



    过该指针你就只能够调用基础类别所定义之成员函数」这条规则反其道而行的设计。 



                                                                        71 


…………………………………………………………Page 134……………………………………………………………

                    不必设计复杂的串行函数如add 或getNext 才能验证这件事,我们看看下面这个简单例 



                    子。如果我把职员一例中所有四个类别的put ePay  函数前面都加上virtual 保留字, 



                    使它们成为虚拟函数,那么: 



                      CEmployee* pEmp; 

                      CWage      aWager(〃曾銘源〃); 

                      CSales     aSales(〃侯俊傑〃); 

                      CManager   aManager(〃陳美靜〃); 



                      pEmp = &aWager; 

                      cout putePay();  //           CWage::putePay 

                                                        调用的是 

                      pEmp = &aSales; 

                      cout putePay();  //           CSales::putePay 

                                                        调用的是 

                      pEmp = &aManager; 

                      cout putePay();  //           CManager::putePay 

                                                        调用的是 

                                                        调用的是 



                   现在重新回到Shape 例子,我打算让displ ay 成为虚拟函数: 



                  #0001  #include  

                  #0002  class CShape 

                  #0003  { 

                  #0004    public: 

                  #0005    virtual void display() { cout 
返回目录 上一页 下一页 回到顶部 0 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!