类作用域中的名字查找
1、类成员声明 的名字查找
typedef double money;
class account{
public :
momey balance(){return bal;}
private:
momey bal;
};
(1)编译器首先在类account的作用域中查找momey的声明。
(2)由于在类的作用域中没有找到,编译器在全局作用域中查找momey的声明
2、类成员定义中变量的名字查找
(1)在成员函数作用域中查找
(2)跳出成员函数作用域,在类的作用域中查找
(3)跳出类的作用域,在全局变量中查找。
下面例子:
#include <iostream>
using namespace std;
int height=100;
class creen{
public:
int dummy_func(int height)
{
cursor=width*height;
return cursor;
}
public:
int cursor;
int height,width;
};
int main()
{
creen cr;
cr.cursor=1;
cr.height=3;
cr.width=5;
cout<<cr.dummy_func(10)<<endl;
return 0;
}