const member function 常量成员函数
- 说明该函数不会改变成员数据的内容
- 当该成员函数不会改变data时,一定要记得加const
- const类型的类对象,只能调用const的成员函数
class complex
{
public:
double real () const { return re; } //const
double imag () const { return im; } //const
private:
double re, im;
};
参数传递:pass by value vs. pass by reference (to const)
- 尽量 pass by reference
- 引用&的底层就是指针*
- (to const) 是说该函数不可以改变该参数
class complex
{
public:
complex (double r = 0, double i = 0) // pass by value
: re (r), im (i)
{ }
complex& operator += (const complex&); // pass by reference (to const)
private:
double re, im;
friend complex& __doapl (complex*, const complex&); // pass by reference (to const)
};
ostream&
operator << (ostream& os, const complex& x) // pass by reference
{
retur