C++里的虚函数与重定义问题

学习 时间:2026-05-30 23:22:55 阅读:3379
C++里的虚函数与重定义问题①在某一个父类中定义了一个虚函数.在子类中给出具体定义.②在某一个父类中定义一个函数,但是函数体为空.然后在子类中给出具体定义.这样2个有区别吗?我觉得没有啊.虽然说,第一个是叫做后绑定,第二个叫做重定义.

最佳回答

简单的西装

醉熏的康乃馨

2026-05-30 23:22:55

有区别,虚函数的特性是用于实现多态的。比如以下代码 class A{ public: void print(){ cout 再问: 是不是这样的? 1、你讲的道理我是懂了,就像是一个父类为 宠物 ,然后派生出来 狗 这个子类,他们都有一个名字,如果我用重定义的话,狗,就只有狗这个名字了。 但是用虚函数的话,我还可以在适当的时候调出 狗的另外一个名字 宠物。 2、书上说,继承下来的虚函数,子类那个vitural可以要,也可以不要。那样的话,就都是他们的虚函数都只是使用自己的定义了。 3、为什么能够通过指针来调用不同的函数呢?实在不明白。。跪求 再答: 2、书上说,继承下来的虚函数,子类那个vitural可以要,也可以不要。那样的话,就都是他们的虚函数都只是使用自己的定义了。 这个子类如果用vitural 关键字,则这个子类的子类的方法也可以被覆盖。 3、为什么能够通过指针来调用不同的函数呢?实在不明白。。跪求 指针是指向一段内存地址,这个内容详细你可以看 http://blog。csdn。net/hairetz/archive/2009/04/29/4137000。aspx 文章 你就知道 函数指针是什么时候以何种形式被调用了

最新回答共有2条回答

  • 高兴的紫菜
    回复
    2026-05-30 23:22:55

    有区别,虚函数的特性是用于实现多态的。比如以下代码 class A{ public: void print(){ cout 再问: 是不是这样的? 1、你讲的道理我是懂了,就像是一个父类为 宠物 ,然后派生出来 狗 这个子类,他们都有一个名字,如果我用重定义的话,狗,就只有狗这个名字了。 但是用虚函数的话,我还可以在适当的时候调出 狗的另外一个名字 宠物。 2、书上说,继承下来的虚函数,子类那个vitural可以要,也可以不要。那样的话,就都是他们的虚函数都只是使用自己的定义了。 3、为什么能够通过指针来调用不同的函数呢?实在不明白。。跪求 再答: 2、书上说,继承下来的虚函数,子类那个vitural可以要,也可以不要。那样的话,就都是他们的虚函数都只是使用自己的定义了。 这个子类如果用vitural 关键字,则这个子类的子类的方法也可以被覆盖。 3、为什么能够通过指针来调用不同的函数呢?实在不明白。。跪求 指针是指向一段内存地址,这个内容详细你可以看 http://blog。csdn。net/hairetz/archive/2009/04/29/4137000。aspx 文章 你就知道 函数指针是什么时候以何种形式被调用了

上一篇 I am ( ).A.an English B.English C.English boy

下一篇 下列关于蛋白质消化的叙述中,错误的是() A蛋白质在胃里被消化成氨基酸 B蛋白质在胃里被消化成多肽