父类的指针没法指向子类对象

父类的指针指向子类的对象,这一特性在c++中叫作多态。c++

固然,多态还能够有更深的解释。指针

 

但是,为何有时候父类的指针指向不了子类的对象?code

有以下两个文件的代码:对象

//B.h
class B : public A{};

//main.cpp   
Class A;
Class B;
 
void fun(B* b)
{
    A* a = b;  //这边有错      
}

缘由是这样子的,有时候咱们为了提升编译速度,编译器

会作一些前置声明,好比Class A 告诉编译器A存在。编译

然后咱们能够 A a ;定义一个对象class

 

但是当你要这么写的时候A* a = b;  方法

编译器并不知道A是B的父类,因此文件

就报错了。最简单的方法是把B的头文件包含进来。co

相关文章
相关标签/搜索