24 C++ 静态类型和动态类型 两个概念的理解

Person *pa =  new Son;

静态类型:变量声明时的类型

Person *pa 声明时 的类型就是 Person 

动态类型:指针/引用 所代表的内存中的对象的类型

如上例 就是 son

静态类型 和动态类型 这种概念,都是 在 父类指针或者父类引用 指向 子类对象,才会有意义。

如果没有父类指针或者父类引用 指向子类对象,就是平时这种

Person pa1 = new Person;

那么这时候 静态类型和动态类型都是 Person。

你可能感兴趣的:(c++)