Virtual的理解

关于virtual的理解

  1. C++课程学习后,觉得这个概念非常难以理解;
  2. 经过n年的C++开发经验后,开始了解virtual和函数重载结合后的威力,理解的高度上升为:
    基类中可以调用子类中重定义的由基类声明为virtual的函数”,没有virtual,我们无法做到这一点。
    这个理解没有错,可是如果没有深入的认识,只能和我们说“OO?就是Encapsulation,Inheritance,Polymorphism”一样的正确却无用……

    在MFC中发现了许多使用virtual的例子,包括和消息映射函数的结合。可能有很多MFC的初学者没有认真的考虑过一个简单又有趣的问题,CDialog的派生类中OnOK()函数和virtual的关系,这是下面的一个帖子。
  3. 面试时被询问到使用virtual修饰基类,即
    class CDerived: virtual public CBase{
        ……
    };
    的意义,只好老实的回答不知道,痛苦啊!回来后立刻到MSDN中查找,终于明白了,唉。
    以后的帖子准备翻译MSDN中关于virtual base class的文章,如果是使用.net的朋友,可以在帮助的索引中输入
    virtual base classes, overview
    阅读英文原文。
  4. 重载和重定义的区别和合作,这是以后的帖子啦;
  5. 设计模式中virtual的重要地位。在《设计模式:可复用面向对象软件的基础》一书中,介绍的类和对象组合的方法,virtual的使用在其中起到了至关重要的作用。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值