banner

的指针。声明指针语句的一般形式为:

声明了指向成员的指针之后,需要对其进行赋值,也就是要确定指向类的哪一个成员。对数据成员指针赋值的一般语法形式为:

tips

注意对类成员取地址时,也要遵守访问权限的约定,也就是说,在一个类的作用域之外不能够对它的私有成员取地址。

对于一个普通变量,用“&”运算符就可以得到它的地址,将这样的地址赋值给相应的指针就可以通过指针访问变量。但是对于类的成员来说问题就要稍微复杂些。类的定义只确定了各个数据成员的类型、所占内存大小以及它们的相对位置,在定义时并不为数据成员分配具体的地址。因此经上述赋值之后,只是说明了被赋值的指针是专门用于指向哪个类型是用参数表示的,因此模板特性有时也被称为参数化类型(parameterized types)。下面介绍为何需要这种特性以及其工作原理。

前面定义了一个交换两个int值的函数。假设要交换两个double值,则一种方法是复制原来的代码,并用double替换所有的int。如果需要交换两个char值,可以再次使用同样的技术。进行这种修改将浪费宝贵的时间,且容易出错。如果进行手工修改,则可能会漏掉一个int。如果进行全局查找和替换,如用double替换int,则可能会将:

转换为:

C++的函数模板功能能自动完成这一过程,可以节省时间,而且更可靠。
was my girovago: a wandering peddler selling saints and youngsters! The other was his mate, who helped carry the pack. They went about together. Oh, my girovago was a known figure all over the country.—And where would they sleep? There, in the room where the fire was dying.

They would unroll the