C++ philosophy: Changing the accessibility of a class

C++ philosophy: Changing the accessibility of a classC++ philosophy: Changing the accessibility of a class代码

#include <iostream>using std::cout;using std::endl;class Base1{public:       void foo(){cout<< "Base1::foo"<<endl;};};class Base2{private:       void foo(){cout<< "Base1::foo"<<endl;};};class Dirived : public Base1,public Base2{};int main(){      Dirived d;      d.foo();      return 0;}

d.foo();这一行编译器会报错 error: "Dirived::foo" is ambiguous

那么既然,Bas2的foo是一个私有函数,在Dirived类中并不可见,为什么编译器还傻傻的说ambiguous呢?

原文链接: https://www.cnblogs.com/aoaoblogs/archive/2010/12/20/1911013.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/19025

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月7日 下午7:59
下一篇 2023年2月7日 下午7:59

相关推荐