虚函数与权限
虚函数算得上是C++永恒的话题之一了. 今天再来助助兴. 还是以出题的方式吧:
#include <iostream>
using namespace std;
class Base
{
public:
virtual void fun() {cout << "In Base";};
};
class Derived : public Base
{
private:
virtual void fun() {cout << "In Derived";};
};
void main()
{
Derived d;
Base* pb = &d;
pb->fun();
}
// 注意: Derived类中fun()属于private
请选择上面程序的结果
A 编译出错
B 运行出错
C 运行正常,结果为"In Base"
D 运行正常,结果为"In Derived"