C++中的重载

来源:互联网 发布:网络嗅探器 编辑:程序博客网 时间:2024/06/04 01:07
Time& operator+=(const Time&);

       这句是一个重载函数的声明,这个函数用来重载运算符+=,Time&是函数返回值,返回的是Time 类型的一个引用,形参是const Time& 也是Time类型的一个引用,加const的为了函数中不改变形参的值,而且能够接收Time类型的常量。

Class &operator=(const Class &); 

     这是赋值运算符重载的标准格式,形参为本类对象的常引用,返回值是本类对象自己的引用可以做左值,只能用类的成员重载,重载赋值运算符用于类中有动态分配成员时,本类对象相互赋值用,为避免C++默认按位赋值方式带来的一系列问题,用户必须重载该函数,习惯上默认的按位赋值称为浅拷贝,有动态分配成员时的复制称为深拷贝。
当然,即使类没有动态分配成员时,也可以重载该赋值运算符,不过不是特殊目的一般多余。

Class &operator=(const Class &); 

0 0
原创粉丝点击