4.1.4 对象的作用域
类是面向对象的体现,它具有一定的数据保护功能。类的作用域就是类的保护功能的机制。类的作用域是指类的声明部分中的一对花括号所形成的作用域。一个类的所有成员都在该类的作用域内。在上面的例子中已经看到,类的私有成员变量不可以在类的外部访问,因此需要定义一个公有成员函数间接访问类的私有成员。
【示例4.9】 定义一个类,并且定义类的成员变量。在主函数中访问类的变量。
- #include<iostream.h>
- class number
- {
- private:
- int num;
- public:
- void fun(int i);
- };
- void number::fun(int i)
- {
- num=i;
- }
- void main()
- {
- int num=9;
- number A;
- A.num=3;
- A.fun(3);
- num=10;
- }
分析:上面的number类中定义了一个私有成员变量num,在main()函数中对该变量进行访问是错误的。因为超出了类的变量作用域。而在fun()函数中,虽然该函数的定义在类的外部实现,但它本身还是类的一部分。num仍然在作用域内。在后面主程序num赋值时,访问的是主函数中定义的变量,而不是类的成员变量。
【责任编辑:
云霞 TEL:(010)68476606】