六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 289|回复: 0

关于虚函数的两个例子

[复制链接]

升级  22.33%

83

主题

83

主题

83

主题

举人

Rank: 3Rank: 3

积分
267
 楼主| 发表于 2013-2-5 02:43:18 | 显示全部楼层 |阅读模式
晚上看了半天的COM,而里面又是满篇的虚函数。尽管自己对于虚函数有一定的了解,但是远离C++也有一些时日,看来补补课是很有必要的了。
        打开自己收藏夹,目光停留在周星星老大经常出没的地方:vcKBase。于是,从这个宝库中找到了自己需要的两篇文章:C++中的虚函数(一)C++实践系列>C++中的虚函数(virtual function)
        两篇文章都写得不错,尤其是第二篇,写得很有分量,让人收益非浅。而第一篇通过列举的方式将虚函数的特点一一道来也很不错,美中不足的就是作为范例的代码有些瑕疵了。现列举如下:
        1、文章中的第五点通过以下代码以说明多态性: <div style="padding-right: 5.4pt; padding-left: 5.4pt; background: #e6e6e6; padding-bottom: 4px; width: 98%; padding-top: 4px;">class A {
public:
    
virtual void f() { cout << "A::f" << endl; }
}
;
class B :public A{
public:
    
virtual void f() { cout << "B::f" << endl;}
}
;
class C :public A {
public:
    
virtual void f() { cout << "C::f" << endl;}
}
;
class Drive : public C {
public:
    
virtual void f() { cout << "D::f" << endl;}
}
;

int main(int argc, char* argv[])
{
    A a;
    B b;
    C c;
    Drive d;
    a.f();
    b.f();
    c.f();
    d.f();
    
return 0;
}

您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表