Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1736698
  • 博文数量: 206
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 2285
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-11 11:38
个人简介

学习永无止境!!

文章分类

全部博文(206)

文章存档

2022年(5)

2019年(3)

2018年(8)

2017年(32)

2016年(7)

2015年(13)

2014年(44)

2013年(24)

2011年(6)

2010年(17)

2009年(46)

2008年(1)

分类: 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

}


可见,这是同名覆盖原则。 这时候若要访问全局同名函数,只消加一个域标志 ::

阅读(1188) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~