C++常量成员函数

长量成员函数

C++中的常量成员函数,在参数列表后,加const关键字,声明为常量成员函数,表示该成员函数可以读取类中的数据成员,但不能对其进行修改。
代码如下(示例):

class complex
{
public:
	complex(double r=0,double i=0)
	//初值列表,这样赋值可以提高程序的运行效率
	:re(r),im(i)
	{}
	complex& operator +=(const complex&);
	double real() const {return re;} 
	double imag() const {return im;}
private:
	double re,im;
	friend complex& __doapl (complex*,const complex&);
};

C++陷阱:
上面的类如果进行声明对象为:

complex cx(1,2);
cout<<cx.read();
cout<<cx.imag();

是没有错误的;
如果使用者使用这个类声明对象为如下方式:

const complex cx(1,2);
cout<<cx.read();
cout<<cx.imag();

在声明对象前加cosnt关键字进行修饰,表达方式是没有错误的,但是如果类中的成员函数如果没有使用const关键字进行修饰,则编译器会报错。

上一篇:TWebLive基于TRTC和IM实现web群直播


下一篇:基于深度学习实现人脸的表情识别(1)----准备数据和整理