虚函数的作用是
函数重写
即
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
};
你现在所写的 是属于函数重载
原因是参数类型不一样
因此不具备 虚函数的特性
不用引用,用指针试下!
我补了一个函数,你看一下:
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<<"是真正的重写,下面那个是新的同名重载函数"<