来自C++primer5 的struct和class定义类的区别
类可以在它的第一个访问说明符之前定义成员,对这种成员的访问权限依赖于类定义的方式。如果我们使用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;
}