C++中指针和引用有两种类型:静态类型和动态类型
静态类型:指针或引用声明时的类型
动态类型:运行时实际指向的对象类型
class A
{
};
class B : public A
{
};
A *p1 = NULL;//p1的静态类型是 A*
p1 = new B; //p1的动态类型是B*
B *p2 = NULL;//p2的静态类型是B*
p2 = new B; //p2的动态类型是 B*
静态类型:指针或引用声明时的类型
动态类型:运行时实际指向的对象类型
class A
{
};
class B : public A
{
};
A *p1 = NULL;//p1的静态类型是 A*
p1 = new B; //p1的动态类型是B*
B *p2 = NULL;//p2的静态类型是B*
p2 = new B; //p2的动态类型是 B*