c++--多态性与虚函数

多态性(polymorphism):不同功能函数用同一函数名,而且可以用一个函数名调用不同内容的函数。

                                                 面向对象时一般这样描述--向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为。

分类:静态多态性(编译时的多态性,通过函数重载实现的)

            动态多态性(运行时的多态性,通过虚函数)。//虚继承是对于数据成员的,而虚函数则是对于内部函数的。

问题:如何通过虚函数实现动态多态性。

           当一个基类被继承为不同的派生类时,各派生类可以使用与基类成员相同的成员名,如果在运行时用同一个成员名调用类对象的成员,调用哪个对象的成员。

//VC对friend友元函数不好使,因此通常需要用C重新写<iostream.h>

派生类对象可以代替基类对象小基类对象的引用初始化或赋值。

虚函数:在基类中声明函数是虚拟的,并不是实际存在的函数,然后在派生类中才正式定义此函数,就是在函数前面加virtual。

同名覆盖:1.cy1.area()  cy1.Circle::area()

                    2.用指针方法:Pinot *p=&基类对象名;//基类类型的指针

                                               p->display();//基类中的display()

                                               p=&派生类的对象名;

                                               p->display();如果用虚函数的话,该处为派生类的display(),否则为基类的display()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值