学习永无止境!!
分类: C/C++
2014-05-07 10:11:06
如一个类A中有成员函数test1()与test2(),而全局函数中有一个名字也为test1(),这时候若在A的test2()成员函数中调用test1()函数,调用的会是哪个?
看例子:
void test1()
{cout<<"i am outer test1";}
class A{
void test1()
{cout<<"i am inner test1";]
void test2()
{test1();}
void test3()
{::test1();}
};
void main()
{A a;
a.test2(); //输出i am inner test1
a.test3(); //输出i am outer test1
}
可见,这是同名覆盖原则。 这时候若要访问全局同名函数,只消加一个域标志 ::