自赋值问题
n += m右边返回的是左操作数的引用
如何使得类禁止拷贝:
将拷贝函数作为私有的或者保护的
如果不重写operator=,编译器会自动生成,按位赋值
通常,如果需要些析构函数,那么就需要显示写出拷贝构造和operator=
重载前++返回一个引用,如:
Clock& operator++(){}
重载后++返回一个对象副本,并需要加一个int在参数表中以区分前++,如:
Clock operator++(int)
{
Clock temp(*this);
++(*this);
return temp;
}
重载操作符[]通常些两个版本,一个为常对象服务,一个为非常对象
当一个类重载了函数操作符后,这个类生成的对象被称为函数对象(仿函数)
n += m右边返回的是左操作数的引用
如何使得类禁止拷贝:
将拷贝函数作为私有的或者保护的
如果不重写operator=,编译器会自动生成,按位赋值
通常,如果需要些析构函数,那么就需要显示写出拷贝构造和operator=
重载前++返回一个引用,如:
Clock& operator++(){}
重载后++返回一个对象副本,并需要加一个int在参数表中以区分前++,如:
Clock operator++(int)
{
Clock temp(*this);
++(*this);
return temp;
}
重载操作符[]通常些两个版本,一个为常对象服务,一个为非常对象
当一个类重载了函数操作符后,这个类生成的对象被称为函数对象(仿函数)