C++ 支持另一个关键字 struct,它也可以定义类类型。struct 关键字是从
C 语言中继承过来的。
96
如果使用 class 关键字来定义类,那么定义在第一个访问标号前的任何成
员都隐式指定为 private;如果使用 struct 关键字,那么这些成员都是
public。使用 class 还是 struct 关键字来定义类,仅仅影响默认的初始访问
级别。
可以等效地定义 Sales_item 类为:
struct Sales_item {
// no need for public label, members are public by default
// operations on Sales_item objects
private:
std::string isbn;
unsigned units_sold;
double revenue;
};
本例的类定义和前面的类定义只有两个区别:这里使用了关键字 struct,
并且没有在花括号后使用关键字 public。struct 的成员都是 public,除非有
其他特殊的声明,所以就没有必要添加 public 标号。
用 class 和 struct 关键字定义类的唯一差别在于默认访问
级别:默认情况下,struct 的成员为 public,而 class 的成
员为 private。