扫码关注官方订阅号
闭关修行中......
这个好像和多态关系不大,主要是你想要实例化一个纯虚类,这是非法的。你有一个A::foo()=0表明A是一个纯虚类,但又写了A getA()返回了一个对象,即A的实例,那显然不行啊
实例化一个纯虚类,这是非法的
A::foo()=0
A getA()
A是一个抽象类,是不允许被实例化的,也就是说,A类不会有对象。B类中的getA()方法,返回的是一个A的对象,这就违背了“不允许被实例化”的原则
1 抽象类不能实例化,所以编译器报error;2 使用对象而不是引用或指针的话,无法实现多态效果;
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这个好像和多态关系不大,主要是你想要
实例化一个纯虚类,这是非法的
。你有一个
A::foo()=0
表明A是一个纯虚类,但又写了A getA()
返回了一个对象,即A的实例,那显然不行啊A是一个抽象类,是不允许被实例化的,也就是说,A类不会有对象。B类中的getA()方法,返回的是一个A的对象,这就违背了“不允许被实例化”的原则
1 抽象类不能实例化,所以编译器报error;
2 使用对象而不是引用或指针的话,无法实现多态效果;