2015年10月3日星期六

C++ 类范围与访问类成员

类的数据成员(类定义中声明的变量)和成员函数(类定义中声明的函数)属于该类的类范围(class's scope).非成员函数在文件范围(file scope)中定义。

在类范围中,类成员可由该类的所有成员函数直接访问,也可以用名称引用;
在类范围外,类成员是通过一个对象的句柄引用,可以是对象名,对象引用或对象指针;

成员函数在类中有函数范围(function scope),成员函数内定义的变量只能在该函数内访
问。如果成员函数定义与类范围内的变量同名的变量,则在函数范围内,函数范围内的变量掩盖范围内的变量。


C++面向对象

1:类是程序员可以构造对象的属性(attribute,表示数据成员(类定义中声明的变量))和行为(behavior)或操作(operation,表示成员函数(类定义中声明的函数))。C++用关键字class定义包含数据成员和对象函数的类型。

2:注意与类名相同的成员函数,称为该类的构造函数(constructor).构造函数是个特殊成

函数,该函数初始化对象的数据成员。类的构造函数在生成这个类的对象是自动调用。

一个类常常有几个构造函数,这是通过函数重载完成的。注意,构造函数不指定返回类

型。

3:数据成员通常放在类的private部分,成员函数通常放在pulic部分。

4:注意,类的数据成员无法在类体中声明时初始化,而要用类的构造函数初始化,也可以用

给他们设置的函数赋值;

5:注意,类向外部提供的函数要加上public标号。Public 函数实现类向客户提供的行为或

服务,通常成为类的接口或public接口。(客户能访问类的接口,但不能访问类的实现方法)

6:类定义包含类的数据成员和成员函数的声明。成员函数的声明就是函数原型。成员函数可

  以在类的内部定义,但在类的外部定义函数是个良好的习惯。因为可以区分类的接口与实

  现方法。类的用户不能看到类成员函数的实现方法。