问一个关于访问控制的问题
class Base{
public:
virtual void fun(){...}
};
class Derived : public Base{
public:
virtual void fun(){...}
};
int main(){
Base *b = new Derived; //这样用才叫多态,你那个通过派生类类型的引用或指针,是怎么用的,拿出来看看
b->fun();//这个访问的是Derived::fun()
delete b;
Derived D_obj;
Base B_obj(D_obj);
B_obj.fun(); //这个访问的是 Base::fun()
}
b->fun();//这个访问的是Derived::fun() 这个是由于动态绑定的吧
B_obj.fun(); //这个访问的是 Base::fun()
大家帮忙解释一下,为什么 阿?