类可以在它的第一个访问说明符之前定义成员,对这种成员的访问权限依赖于类定义的方式。如果我们使用struct关键字,则定义在第一个访问说明符之前的成员是public的;相反,如果我们使用class关键字,则这些成员是private的
// Created by simp on 2020/10/15. // //使用class和struct定义类唯一的区别就是默认的访问权限 #include <iostream> struct Sales_data{//默认public Sales_data()=default; Sales_data(const std::string &s):bookNo(s){} Sales_data(const std::string &s,unsigned n,double p):bookNo(s),units_sold(n),revenue(p*n){} Sales_data(std::istream&); std::string isbn()const{return bookNo;} Sales_data& combine(const Sales_data&); double avg_price()const; private: std::string bookNo; unsigned units_sold=0; double revenue=0.0; }; class Sales_data1{//默认private Sales_data1()=default; Sales_data1(const std::string &s):bookNo(s){} Sales_data1(const std::string &s,unsigned n,double p):bookNo(s),units_sold(n),revenue(p*n){} Sales_data1(std::istream&); std::string isbn()const{return bookNo;} Sales_data& combine(const Sales_data&); double avg_price()const; public: std::string bookNo; unsigned units_sold=0; double revenue=0.0; }; int main(){ return 0; }