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多态概念的关键。