求大神解释下面的C++程序运行结果,为什么能用基类来定义派生类?

2025-04-25 13:38:36
推荐回答(2个)
回答1:

因为基类中的func函数被声明虚函数,所以基类的派生类可以重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。
所以通过这个void test(Student& s){ s.func( );}函数可知,它是通过引用来访问基类和派生类中的同名函数。

回答2:

虚函数

使用虚函数和指针或者引用技术想结合,可以实现用基类指针或者基类引用调到派生类函数的功能。

你把你程序用virtual 删除掉,再运行一下程序看看。