9月22日,阵雨。今天上午老师带着我们学习了运算符重载。
重载就是根据自己的需要对C++已提供的运算符进行重载,赋予新的含义。
实现时,我们首先把指定的运算表达式转化为对运算符函数的调用,这个过程是在编译中完成的。
运算符重载的一般格式为:
类型名 operator 运算符 (形参表){函数体}
类型名为重载运算符的返回类型,即运算结果类型。
operator 类型名();
没有参数,没有返回类型,(其返回类型由函数名字指定)但是函数体中必须包含return语句。
使用运算符重载,只能重载C++中已有的运算符,不允许创建新的运算符。除“.”(成员选择符)、“.*”(成员对象选择符)、“->*(成员指针选择符)”、“::”、“?:”、“sizeof”外)都可以被重载。
运算符的重载既不会改变原运算符的优先级和结合性。但是至少有一个操作对象是自定义类型,参数都是基本类型时不能重载。而且不提倡改变参数个数、运算符含义。在重载运算符的函数中不能有默认的参数。
赋值运算符重载
拷贝构造函数和赋值操作符都是用来拷贝一个类的对象给另一个同类型的对象。
拷贝构造函数:将一个对象拷贝到另一个新对象。
赋值运算符:将一个对象为另一个已经存在的对象赋值。
而编译器提供默认的拷贝构造函数和赋值运算符的运作机制。
就是将对象中的每个数据成员拷贝到目标对象相应的数据成员中。
下午娱乐委员带我们做了游戏,在欢声笑语中,结束了今天一天的学习。拉近了我们同学直间的友谊,劳逸结合,感觉非常好。爱学习,会学习,学好习!