C 中多态的作用?

[复制链接]
查看11 | 回复1 | 2011-5-16 06:09:20 | 显示全部楼层 |阅读模式
c中多态更容易理解的概念为
允许父类指针或名称来引用子类对象,或对象方法,而实际调用的方法为对象的类类型方法。
在C中:
classA{
public:
A(){}
virtualvoidfoo(){
cout\"ThisisA.\"endl;
}
};
classB:publicA{
public:B(){}
voidfoo()
{cout\"ThisisB.\"endl;}
};
intmain(intargc,char*argv[])
{A*a=newB();//这里为什么不改成Bb=newB();
a-foo();//b.foo();用A来引用子类B的方法在实际编程中有什么好处?
return0;
}
这将显示:ThisisB.
如果把virtual去掉,将显示:ThisisA.
回复

使用道具 举报

千问 | 2011-5-16 06:09:20 | 显示全部楼层
单个小程序不能看出多态的用处,当程序大了,继承的类多了,才能实现多态的优越性。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行