c++中using

#include 
using  namespace std;
class A{
    public:
        void foo(void){
            cout << "A::foo(void)" << endl;
        }
};

class B:public A{
    public:
        void foo(int i){
            cout << "B::foo(int)" << endl;
        }
        void bar(void){
            foo();//这里不写using A::foo;就会报错,因为B类中有个foo(int i)
            //函数,会覆盖A类中的同名函数,但是B类中的foo是有参的,调用foo()肯定报错
            //使用using A::foo;
        }
        using A::foo;
};

int main(void){
    B b;
    b.bar();//调用A类中的foo函数
    return 0;
}

创新互联自2013年起,先为固始等服务建站,固始等地企业,进行企业商务咨询服务。为固始企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

此时我们修改B类,其他不变

class B:public A{
    public:
        void foo(void){
            cout << "B::foo(int)" << endl;
        }
        void bar(void){
            foo();//A::foo();
        }
        using A::foo;//使用using A::foo将基类中的类在此类中可见,但是
                      //此时B中的foo和A中的foo一模一样,所以会此时会调用B中的
                      //foo,如果要想调用A中的foo;直接A::foo()就好了.
      
};

文章标题:c++中using
URL标题:http://www.hxwzsj.com/article/jespde.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 重庆网站建设 企业手机网站建设 成都网站建设 企业网站设计 成都定制网站建设 成都网站制作公司 网站设计制作 H5网站制作 网站建设开发 公司网站建设 手机网站建设 高端定制网站设计 成都h5网站建设 成都响应式网站建设公司 成都网站设计 成都网站建设推广 企业网站设计 成都定制网站建设 外贸营销网站建设 成都网站设计公司 成都网站设计 攀枝花网站设计