C++子类如何调父类的虚函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++子类如何调父类的虚函数相关的知识,希望对你有一定的参考价值。

class father

virtual void a();


class son:public father


那我在son.cpp里如何使用这个a()函数

参考技术A class father

virtual void a();


class son:public father

void a()
father::a();

如果父类有一个虚方法,子类重写了这个方法。那么子类到底有没有继承父类的虚方法??

如果父类有一个虚方法,子类重写了这个方法。那么子类到底有没有继承父类的这个虚方法??

是abstract方法吧?那叫抽象方法。“虚函数”是C++的概念。
如果子类@Override了父类的abstract方法,从概念上是“实现”(implements)了该方法。

如果子类@Override了父类的"非abstract"方法,从概念上是“覆盖”(override)了该方法。

两者在java 1.5之前,前者是不能用标记“@Override”标注的。

但从多态性(Polymorphism)而言,是一样的效果。按你的说法,都是子类继承了父类的方法。

希望能帮到你!追问

晕,我怀疑你你没学过C#没有

追答

你想说什么?

追问

额。。。算了,是我没有把问题说清楚,这不是JAVA和C++的内容,是C#里面的语法。

追答

你看看你自己放的相关分类!

参考技术A 我先问一句,你问的是C#还是java追问

C#

参考技术B 继承了。
非抽象的方法可以通过super.method(args)调用。

以上是关于C++子类如何调父类的虚函数的主要内容,如果未能解决你的问题,请参考以下文章

C++中,子类会继承父类的虚函数表!对于父类的析构函数(虚函数) 也会继承吗?

关于C++的虚函数在父类的内部调用

C++ 中,类的继承:父类当使用虚函数时候,子类对该函数进行重写的话,属于子类成员函数对虚函数的覆盖!

c++中的虚函数

如何能避免在调用子类对象的虚函数时调用父类的虚函数呢?

C++中的虚函数以及虚函数表