继承机制的名字解析

来源:互联网 发布:有人自学java吗 编辑:程序博客网 时间:2024/04/29 22:14
继承机制名字解析:
1。derived类的同名成员隐藏base类的同名成员,出于设计目的;
      不会构成重载
2。多继承的情形,derived类继承了多个base类的同名函数,这些函数之间不会报重复定义,
      但是直接访问的话会二义,因为编译器解析的时候,只是用名字解析,而并的非根据参数类型进行重载解析

class B1
{
public:
    void ok(){cout << "B1::okokok" << endl;}
};

class B2
{
public:
    void ok(){cout << "B2::okokok" << endl;}
};

class D:public B1, public B2
{
};

int main()
{
    D d;
    d.ok(); //ambiguous access of 'ok'
    d.B1::ok();
    d.B2::ok();
    return 0;
}

原创粉丝点击