所以我在 C++ 中尝试重载时遇到了这个问题:我有这些类:
class Data
{
public:
void virtual f(){cout<<"In data!"<<endl;}
};
class A: public Data
{
public:
void f(int x){cout<<"Class A int is: "<<x<<endl;}
};
然后我做:
Data *D=new A();
D->f(4);
我希望 Data 的 f() 函数对 A 类的 f() 函数起作用,因为我是虚拟的,但它不会。
有什么方法可以让它工作吗?