父类指针指向子类对象

B *b=new B();
A *a= b;//A是父类,B是子类

1.函数调用

(1)父类指针指向子类实例对象,调用普通重写函数时,会调用父类中的函数。
        因为声明的是父类指针,因此该指针不能够访问子类的成员,而只能访问父类的成员
(2)调用被子类重写虚函数时,会调用子类中的函数。
注意:
(1)父类指针指向子类时,没有问题,因为父类有的,子类都有,不会出现非法访问问题,也是面向对象特性中多态性的体现(该指针可以调用子类成员,从而使父类指针具备“ 多种形态 ” )。
(2)子类指针指向父类的话,一旦访问子类特有的方法函数或者成员变量,就会出现非法,因为被子类指针指向的由父类创建的对象,根本没有要访问的那些内容,那些是子类特有的,只有用子类初始化对象时才会有.

#C/C++#
全部评论

相关推荐

10-15 10:57
已编辑
武昌理工学院 FPGA工程师
狠赚笔第一人:老哥学院本没实习还想拿13k学Java狠赚笔呢
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务