类的基本思想是数据抽象和封装。数据抽象是一种依赖于接口和实现分离的程序技术。
类要想实现数据抽象和封装,需要首先定义一个抽象数据类型。
定义抽象类
设计Sales_data类
使用改进的Sales_data类
定义改进的Sales_data类
struct Sales_data {
//新成员:关于Sales_data对象的操作
std::string isbn() const {return bookNo;}
Sales_data& combine(const Sales_data&);
double avg_price() const;
????
}
定义成员函数
引入this
引入const成员函数
类作用域和成员函数
在类的外部定义成员函数
定义一个返回this对象的函数
定义类相关的非成员函数
定义read 和 print 函数
定义add 函数
构造函数
合成的默认构造函数
某些类不能依赖于合成的默认构造函数
定义Sales_data的构造函数
=
default的含义
构造函数初始值列表
在类的外部定义构造函数
拷贝、赋值和析构
某些类不能依赖于合成的版本
访问控制与封装
使用class 或 struct 关键字
友元
类可以允许其他类或者函数访问它的非公有成员,方法是令其他类或函数成为它的友元(friend)。