c++中using
#include<iostream>usingnamespacestd;classA{public:voidfoo(void){cout<<"A::foo(void)"<<endl;}};classB:publicA{public:voidfoo(inti){cout<<"B::foo(int)"<<endl;}voidbar(void){foo();//这里不写usingA::foo;就会报错,因为B类中有个foo(inti)//函数,会覆盖A类中的同名函数,但是B类中的foo是有参的,调用foo()肯定报错//使用usingA::foo;}usingA::foo;};intmain(void){Bb;b.bar();//调用A类中的foo函数return0;}
此时我们修改B类,其他不变
classB:publicA{public:voidfoo(void){cout<<"B::foo(int)"<<endl;}voidbar(void){foo();//A::foo();}usingA::foo;//使用usingA::foo将基类中的类在此类中可见,但是//此时B中的foo和A中的foo一模一样,所以会此时会调用B中的//foo,如果要想调用A中的foo;直接A::foo()就好了.};
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。