c++ :OOP之静态类型与动态类型

所谓静态类型即类型指针或引用的字面类型;而动态类型即类型指针或引用的实际类型。 这一对概念一般发生在基类和派生类之间。 如:

 1 class Base
 2 {
 3      .....
 4 }
 5 
 6 class Derived : public Base
 7 {
 8      .....
 9 }
10 
11 Base *sbp = new Base; //静态类型与动态类型都是Base*
12 Base *dbp = new Derived; //静态类型为Base*,动态类型为Derived*

对引用也如此。

显然,动态类型的概念是理解c++OOP多态概念的关键。

原文地址:https://www.cnblogs.com/loversinJapan/p/4840405.html