342 C++ Primer Plus (第 6 版 )中文版 变景声明为int或 float指针时,不仅仅是分配内存,还规定了可对变最执行的操作。总之,指定基本类型 完成了三项工作: • 决定数据对象需要的内存数景; • 决定如何解释内存中的位(long和 float在内存中占用的位数相同,但将它们转换为数值的方法 不同 ); • 决定可使用数据对象执行的操作或方法。 对于内置类型来说,有关操作的信息被内買到编泽器中。但 在 C — f中定义用户自定义的类型时,必须 自己提供这些信息。付出这些劳动换来了根据实际® 要定制新数据类型的强大功能和灵活性。 10.2.2 C ++中的类 类是一种将抽象转换为用户定义类型的0 + 工具,它将数据表示和操纵数据的方法组合成-个粮洁的 包。下面来看一个表示股票的类。 首先,必须考虑如何表示股票。可以将一股作为基本单元,定义一个表示一股股票的类。然而,这意 味着 耑 要100个对象才能表示100股 ,这不现实。相反,可以将某人当前持有的某种股票作为一个基本单 元,数据表示中包含他持有的股票数量。一种比较现实的方法是,必须记录敁初购买价格和购买H 期 (W 于计算纳税)等内容。另外,还必须管理诸如如拆股等事件。首次定义类就考虑这么多因素有些困难,W 此我们对其进行简化。具体地说,应该将可执行的操作限制为: • 获得股票: • 增持; • 卖出股票: • 更新股票价格: • 显示关于所持股票的信息。 可以根据上述済单定义stock类 的 公 有 接 口 (如果您有兴趣,还可以添加其他特性)。为支持该接口, 耑要存储一些信息。我们再次进行简化。例如,不考虑标准的美式股票计价方式(八分之一美元的倍数。 显然,纽约证券交姑所一定看到过本书以前的版本中关于简化的论述,因为它己经决定将系统转换为书中 采用的方式)。我们将存储下面的信息: • 公司名称: • 所持股票的数馱: • 每股的价格: • 股票总值。 接下来定义类。一般来说,类规范由两个部分组成。 • 类声明:以数据成员的方式描述数据部分,以 成 员 函 数 (被称为方法)的方式描述公有接口。 • 类方法定义:描述如何实现类成员函数。 简单地说,类声明提供了类的蓝图,而方法定义则提供了细节。 什么是接口 接口是一个共享框架,供 两 个 系 统 (如在计算机和打印机之间或者用户或计算机程序之间)交互时使 用;例 如 ,用户可能是您,而程序可能是字处理器。使用字处理器时,您不能直接将脑子中想到的词传输 到计算机内存中,而必须同程序提供的接口交互。您敲打鍵盘时,计算机将字符显示到屏幕上;您移动鼠 标 时 ,计算机移动屏幕上的光标;您无意间单击鼠标时,计算机对您输入的段落进行奇怪的处理。程序接 口将您的意图转换为存储在计算机中的具体信息。 对 于 类 ,我们说公共接口。在 这 里 ,公 众 (public)是使用类的程序,交互系统由类对象组成,而接口 由编写类的人提供的方法组成。接口让程序员能够编写与类对象交互的代码,从而让程序能够使用类对象。 例 如 ,要 计 算 string对象中包含多少个字符,您无需打开对象,而 只需使用string类 提 供 的 size()方法。类 设计禁止公共用户直接访问类,但公众可以使用方法size()。方 法 size()是 用 户 和 string类对象之间的公共