父类指针指向子类对象

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

1.函数调用

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

#C/C++#
全部评论

相关推荐

09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务