C++ 中的运算符重载及其使用 |
您所在的位置:网站首页 › 运算符号长什么样子 › C++ 中的运算符重载及其使用 |
在之前的文章中,我们简单介绍过运算符重载。运算符重载其实也算是一种函数重载,只是该函数可以用下边的两种形式实现调用: operator x(argument); ... x ...;上边的形式中,x 表示运算符。其中第二种形式严格来说不太对,应该你不知道运算符的类型,因此只表示一种形式。 运算符重载 定义 datatype operator x(argument) { statement; } 规则 不能定义新的运算符只能对已有的 C++ 运算符进行重载C++ 允许能够重载的运算符 +-*/%^&|~!=+=-=*=/=%=^=&=|=>>=()[]newdeletenew []delete [] C++ 不允许重载的运算符 ..*::?:sizeof 只能重载为成员函数的运算符 =[]()->->* 重载不能改变运算符操作数的个数重载不能改变运算符的优先级重载不能改变运算符的结合性重载不能含有默认参数重载的参数至少有一个是自定义类或枚举类型不需要重载的运算符(=,&)自定义类中的 = 默认调用 = 重载,因为会为类生成默认的 = 重载,因此无需重载,当然如果有必要的话也可以自定义 = 重载。 而 & 返回的一直是类对象的地址,也不必重载。 重载不应失去符号原有的意义 实例 成员 or 友元 #include using std::cout; using std::endl; class POINT { public: POINT(int x = 0,int y = 0):x(x),y(y){} void display() { cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |