简单的内存问题
#include <iostream>using namespace std;
class Father{
int i;
public:
int j;
Father(){}
Father(int m,int n){
i = m;
j = n;
}
void fun(){
cout<<"Father::fun()"<<endl;
}
};
class Son : public Father{
public:
Son(){}
void fun(){
cout<<"Son::fun()"<<endl;
}
};
void main(){
Father* f = new Son; //这样写肯定没错
f->fun(); //调的是Father的
Son s = new Son;//为什么是错的,它返回的是Son*,但我不明白为什么返回的是Son*,难道分配内存的时候是以 指针的形式分配的?请高手指教指教!
}