定义Sales_data类型

1
2
3
4
5
struct Sales_data {
std::string bookNo;
unsigned units_sold = 0;
double revenue = 0.0;
};

类体右侧的表示结束的花括号后必须写一个分号,这是因为类体后面可以紧跟变量名以示对该对象的定义,所以分号必不可少;

1
2
3
4
struct Sales_data { /* ... */ } accum, trans, *salesptr;
// 与上一条语句等价,但可能更好一些
struct Sales_data { /* ... */ };
Sales_data accum, trans, *salesptr;

为了确保各个文件中类的定义一致,类通常被定义在头文件中,而且类所在头文件的名字应与类的名字一样。例如,库类型string在名为string的头文件中定义。又如,我们应该把Sales_data类定义在名为Sales_data.h的头文件中。