c++虚函数与重载的疑问

2025-03-15 18:12:51
推荐回答(3个)
回答1:

虚函数的作用是
函数重写

class Base
{
public:
virtual void fn(int x){cout<<"In Base class,int x= "<};
class Sub:public Base
{
public:
void fn(int x){cout<<"In Sub class,double x= "<// 函数的参数个数,参数类型,返回值及函数名要与基类一致,因为虚函数的
// 目的只是对函数内部进行重写,通过这样修改后 输出
// In Base class,int x=2
// In Base class,int x=3
// In Sub class,double x=2
// In Sub class,double x=3
};

你现在所写的 是属于函数重载
原因是参数类型不一样
因此不具备 虚函数的特性

回答2:

不用引用,用指针试下!

回答3:

我补了一个函数,你看一下:
class Base
{
public:
virtual void fn(int x){cout<<"In Base class,int x= "<};

class Sub:public Base
{
public:
virtual void fn(int x){cout<<"是真正的重写,下面那个是新的同名重载函数"< virtual void fn(double x){cout<<"In Sub class,double x= "<};