一个C++ 的问题~有关重载的函数

来源:百度知道 编辑:UC知道 时间:2024/05/16 10:08:24
能不能详细的解释下面两句每句中函数的意义,请把每个符号都解释下,那个operate是什么?
1.SimpleCircle & SimpleCircle::operator=(const SimpleCircle & rhs)
2.const SimpleCircle SimpleCircle::operator ++(int)

1.SimpleCircle & SimpleCircle::operator=(const SimpleCircle & rhs)
参数:
SimpleCircle & 即SimpleCircle类的引用
const SimpleCircle & rhs 即SimpleCircle类的常引用,函数内部不能修改这个引用的值
operator =(...) 这个是C++运算符重载函数的约定写法,是固定写法。

意义:
重载运算符 = ,它的用法SimpleCircle a,b;a=b;

2.const SimpleCircle SimpleCircle::operator ++(int)
Const SimpleCircle 即常对象,对象的类型是SimpleCircle,这个函数返回的对象不能被修改
operator ++(...) 这个是C++运算符重载函数的约定写法,是固定写法。

意义:
重载运算符 ++ ,它的用法SimpleCircle a;a++;当然后置和前置有区别的。

希望可以帮到你~

operator是c++中重载符号的标示。
1.SimpleCircle & SimpleCircle::operator=(const SimpleCircle & rhs)
通过重载,两个对象可以直接赋值,如果没有这个函数,那么就不能只能赋值
2.const SimpleCircle SimpleCircle::operator ++(int)
同上,这里还出现了const,这个没有多大的影响

这是c++类的固定写法
1.SimpleCircle & SimpleCircle::operator=(const SimpleCircle & rhs)
是类的自赋值操作:第一个& 表示返回引用,第二个& 表示函数参数是引用形式
如果没定义这个函数,类的赋值操作,就以简单字节方式复制
2.const SimpleCircle SimpleCircle::operator ++(int)