码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-01 11:33:31      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

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

当然,多态还可以有更深的解释。

 

可是,为什么有时候父类的指针指向不了子类的对象?

有如下两个文件的代码:

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

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

原因是这样子的,有时候我们为了提高编译速度,

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

而后我们可以 A a ;定义一个对象

 

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

编译器并不知道A是B的父类,所以

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

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

标签:

原文地址:http://my.oschina.net/u/264056/blog/394546

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!