c++中 为什么说虚函数与派生类的结合实现了运行时的多态性?

多态就是调用相同名称的函数,但可导致完全不同的行为的现象。是吧?书上说要用虚函数才能实现多态,但我觉得不用虚函数也可以啊请看这个程序:#include<iostream>... 多态就是调用相同名称的函数,但可导致完全不同的行为的现象。是吧?
书上说要用虚函数才能实现多态,但我觉得不用虚函数也可以啊
请看这个程序:
#include <iostream>
using namespace std;
class Point{
//数据成员
public:
void show(){cout<<"Hello"<<endl;}
};
class Rectangle:public Point{
//数据成员、
public:
void show(){cout<<"Nice to meet you"<<endl;}
};
void main()
{ Point a;
Rectangle b;
a.show();
b.show();
}

这个程序也达到了同一个函数实现不同的功能的目的 ,但是没有用到虚函数呀?
展开
 我来答
xxcc309
2010-05-28 · TA获得超过409个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:336万
展开全部
多态的精华在于基类指针指向派生类,然后通过指针调用接口函数实现不同功能,你写的程序只是不同类中定义同一函数,实质上你是通过域来调用的函数功能,只是简单的所属关系调用,并没有涉及到多态的概念,其实多态才是真正接口的始祖。
hwliu11
2010-05-28 · TA获得超过438个赞
知道小有建树答主
回答量:665
采纳率:0%
帮助的人:592万
展开全部
多态是用父类指针表现子类行为,就比如现在有个父类指针,具体指向哪个子类在编译期无法确定,只有在运行时确定,这时候父类就会调用虚函数,否则子类同名函数屏蔽了父类函数,父类指针行为是父类函数的。
你这里的例子根本不叫多态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式