C++关键技术总结
public:
void fun()
{
cout << "In Pai" << endl;
}
};
int main()
{
Pai a;
a.Base::fun();
a.fun();
return 0;
}
第三章 多态
1、虚函数
C++支持两种类型的多态性,一种是编译时多态,一种是运行时多态。
(1)编译时的多态性:也称静态多态,是通过函数的重载来实现的,到底执行哪一个重载版本在编译时就知道了。
(2)运行时的多态性:也称动态多态,是直到系统运行时,才根据实际情况决定实现何种操作。C++中,运行时的多态性通过虚函数机制来实现。
编译时的多态性具有运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点,也就是说,到底运行哪个函数版本,需要在运行时通过找出发送消息的对象来确定,编译器在编译时采用的是动态联编的手段。
动态联编的一个例子:
#include <iostream>
using namespace std;
class Shape
{
public:
virtual void Area()
{
cout << "这是基类形状类的求面积函数" << endl;
}
};
class Rectangle: public Shape
{
public:
void Area()
{
cout << "这是派生类矩形的求面积函数" << endl;
}
};