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