C++备课讲义第14章虚函数.ppt
- shujukd个人认证 |
- 2021-10-18 发布|
- 370.5 KB|
- 36页
第14章 虚函数
虚函数
多态性:调用同一个函数名,可以根据需要但实现不同的功能。
多态性是面向对象的程序设计的关键技术。
编译时的多态性(函数重载)
运行时的多态性(虚函数)
多态性
运行时的多态性是指在程序执行之前,根据函数名和参数无法确定应该调用哪一个函数,必须在程序的执行过程中,根据具体的执行情况来动态地确定
可以将一个派生类对象的地址赋给基类的指针变量。
基类对象
派生类对象
Base b;
Derive d;
Base *basep;
basep
basep=&b;
basep
basep = &d;
basep只能引用从基类继承来的成员。
x
Show()
x
Show()
y
Show()
basep ->Show();
basep->Show()
基类指针
派生类对象
基类对象
class Point{ float x,y;
public: Point(){} Point(float i,float j){ x=i; y=j; } float area(void) { return 0.0; }
};
const float Pi=3.14159;
class Circle:public Point{ //类Point的派生类 float radius;
public: Circle(float r){ radius=r; } float area(void) { return Pi*radius*radius; }
};
void main(void)
{ Point *pp; //基类指针,可以将派生类对象的地址赋给基类指针 Circle c(5.4321); pp=&c; cout<<pp->area ()<<endl; //调用的是基类中有的公有函数
}
在基类和派生类中具有相同的公