C++ Primer 学习笔记 第七章 类
类的基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离的编程技术,类的接口包括用户所能执行的操作,类的实现则包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数。封装实现了类的接口和实现的分离,封装后的类隐藏了它的实现细节,即类的用户只能使用接口而不能访问实现部分。 类要想实现数据抽象和封装,首先需要定义一个抽象数据类型,在抽象数据类型中,由类的设计者负责考虑类的实现过程,而使用该类的程序员只需要抽象地思考类型做了什么,而无须了解类型的工作细节。 我们可以通过抽象数据类型提供的接口来完成某些操作,但如果一个类没有任何接口供用户使用,只有一些数据成员,那这个类就不是抽象数据类型,一旦定义了一些成员函数供类的用户使用,它就变成了了抽象数据类型。 定义和声明成员函数的方式与普通函数差不多,成员函数的声明必须在类的内部,但它的定义既可以在类的内部,也可以在类的外部。定义在类内部的函数是隐式的inline函数。 Sales_data类: struct Sales_data { string isbn ( ) const { return bookNo ; } Sales_data & combine ( const Sales_data & ) ; double avg_price ( ) const ; string bookNo ; unsigned units