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
文章分享:http://www.kmzsk.com/article/jespde.html

其他资讯

Copyright © 2026 昆明姝彩聂商贸有限公司 All Rights Reserved 滇ICP备2025072963号-9
友情链接: 成都网站制作 网站建设公司 成都响应式网站建设 成都网站制作 外贸网站设计方案 网站设计制作报价 成都网站设计 成都网站制作 成都网站制作 网站建设开发 企业网站设计 营销网站建设 成都网站建设 网站建设 成都响应式网站建设 手机网站制作 专业网站设计 网站制作公司 成都网站建设公司 网站建设公司 成都网站建设 成都网站设计