#include<iostream>
using namespace std;
class base
{
public:
virtual void func()
{
cout<<"reach base::func()\n"<<endl;
}
virtual void func(int a)
{
cout<<"reach base::func("<<a<<")"<<endl;
}
};
class derive:public base
{
public:
virtual void func()
{
cout<<"reach derived::func()"<<endl;
}
};
int main()
{
derive d;
d.func(1);
return 0;
}
我个人理解既然公共继承了,那就能调用基类中的函数哈,为什么d.func(1);
编译通不过呢?
参考资料:《Effective C++》条款 33
参考资料:http://baike.baidu.com/view/161302.htm
本回答被网友采纳