搜索

首页  >  问答  >  正文

c++ - 返回值如果想要传值而不是传引用或指针是不是无法做到多态?

阿神阿神2813 天前607

全部回复(3)我来回复

  • ringa_lee

    ringa_lee2017-04-17 13:34:37

    这个好像和多态关系不大,主要是你想要实例化一个纯虚类,这是非法的
    你有一个A::foo()=0表明A是一个纯虚类,但又写了A getA()返回了一个对象,即A的实例,那显然不行啊

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 13:34:37

    A是一个抽象类,是不允许被实例化的,也就是说,A类不会有对象。B类中的getA()方法,返回的是一个A的对象,这就违背了“不允许被实例化”的原则

    回复
    0
  • 迷茫

    迷茫2017-04-17 13:34:37

    1 抽象类不能实例化,所以编译器报error;
    2 使用对象而不是引用或指针的话,无法实现多态效果;

    回复
    0
  • 取消回复