【发布时间】:2016-07-05 20:37:56
【问题描述】:
为什么我收到以下代码的访问说明符错误(私有成员)?
#include<iostream>
using namespace std;
class Derived;
class Base {
private:
virtual void fun() { cout << "Base Fun"; }
};
class Derived: public Base {
public:
void fun() { cout << "Derived Fun"; } //this should be called
};
int main()
{
Base *ptr = new Derived;
ptr->fun();
return 0;
}
这里应该调用派生类的fun(),因为它是公共的,所以应该没有错误。
【问题讨论】:
标签: c++