为什么C++中,虚函数也能算为多态性的一种?到底什么多态性的是什么?

 我来答
爱说真话的小丑
推荐于2016-10-29 · TA获得超过943个赞
知道小有建树答主
回答量:866
采纳率:0%
帮助的人:302万
展开全部

以下小程序说明了多态性

 

#include "stdafx.h"
#include<iostream>

using namespace std;

class Base
{
public:
 virtual void vf() //只有虚函数、纯虚函数才有多态性
 {
  cout << "调用了基类函数 vf() 。" << endl;
 }
};

class A : public Base
{
public:
 void vf()
 {
  cout << "调用了子类 A 函数 vf() 。" << endl;
 }
};

class B : public Base
{
public:
 void vf()
 {
  cout << "调用了子类 B 函数 vf() 。" << endl;
 }
};

int _tmain(int argc, _TCHAR* argv[])
{
 Base *p, bs;
 A a;
 B b;

 

 p = &bs; //基类指针指向基类对象
 p->vf(); //调用的是基类函数 vf()

 p = static_cast<Base*>(&a);//基类指针指向类 A 对象
 p->vf();//调用的是类 A 函数 vf()

 p = static_cast<Base*>(&b);//基类指针指向类 B 对象
 p->vf();//调用的是类 B 函数 vf()
 

//这就是多态性

 

 system("pause");
 return 0;
}

运行结果:

星空知识站
2016-09-04 · TA获得超过919个赞
知道小有建树答主
回答量:502
采纳率:33%
帮助的人:120万
展开全部
http://wenku.baidu.com/view/bc6237273186bceb18e8bb9c
让你彻底了解C++虚函数与多态的关系,更重要的是,这篇文档不仅告诉你虚函数与多态是什么!而且告诉你为什么需要虚函数与多态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
太郎大佐君
2015-05-17 · TA获得超过112个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:75.8万
展开全部
建议上网搜,c++有点复杂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式