《C++程序设计》教学讲义9章
第9章 多态性
§9.1 多态性
一、多态性概念
同样消息被不同类型的对象接收导致不同行为。
二、多态类型
专用多态
1、重载多态——运算符重载
2、强制多态——强制类型转换
通用多态
3、包含多态——虚函数
4、参数多态——类模板
三、多态实现
静态联编、动态联编
§9.2 虚函数(virtual)
例题:
#include <iostream>
using namespace std;
class A
{
public:
virtual void Show();
};
void A::Show()
{
cout<<"A Show 被调用。"<<endl;
}
class B1:public A
{
public:
void Show();
};
void B1::Show()
{
cout<<"B1 Show 被调用。"<<endl;
}
class B2:public A
{
public:
void Show();
};
void B2::Show()
{
cout<<"B2 Show 被调用。"<<endl;
}
void Fun(A &a)
{
a.Show();
}
void Fun2(A* p)
{
p->Show();
}
int main()
{
A a;
a.Show();
B1 b1;
Fun(b1);
B2 b2;
A* p = &b2;
Fun2(p);
return 0;
}
§9.3 抽象类(virtual)
一、纯虚函数
virtual 返回值类型 函数名(参数列表)=0;
二、抽象类
带有纯虚函数的类是抽象类。
抽象类不能实例化。
本文深入探讨了C++中的多态性概念及其应用。详细介绍了多态性的四种类型:重载多态、强制多态、包含多态和参数多态,并通过示例讲解了虚函数的具体使用方法。
103

被折叠的 条评论
为什么被折叠?



