1.如果一个类的某个成员有const或引用类型的成员,那么这个类的拷贝赋值运算符是删除的或者不可访问的。
#include <string>
#include <iostream>
#include <memory>
int number_x = 1234;
using namespace std;
class Sales_data{
public:
Sales_data() = default;
Sales_data(double d,unsigned u):revenue(d),units_sold(u){}
Sales_data(const string &s):bookno(s){}
private:
Sales_data(const Sales_data &s):bookno(s.bookno),revenue(s.revenue),units_sold(s.units_sold){}
string bookno;
double revenue = 0.0;
unsigned units_sold =0;
int &number = number_x;
};
struct Other{
public:
Other()= default;
Other(const Other &o)= default;
Other& operator=(const Other& ) = default;
private:
Sales_data s1;
int k;
};
int main()
{
Sales_data s;
Sales_data s