星期五 阵雨
今天学习了运算符重载
笔记内容:
一般格式是:
类型名 operator 运算符(形参表){函数体}
(operator是关键字,类型名为返回类型,也是运算结果的类型)
本质就是先把原来的表达式运算转化为对运算符函数的调用。
其中运算符重载时参数个数不可以超过原来个数!
运算符重载时参数类型也不能全为基本类型(int型啥的),至少有一个对象是自定义的类型。
需要注意的地方:
1)在C++里边,除了成员选择符,成员对象选择符,成员指针选择符,"::","?:","sizeof"外都能被重载。不能创建新的。
2)重载不会改变原来运算符的 优先级
3)至少有一个对象是自定义,都是基本类型参数不可重载
4)不提倡改变参数个数,运算符的含义。
5)重载运算符的函数不能有默认的参数。
赋值运算符的重载
跟前面的差不多
需要拷贝构造函数和赋值操作符都是用来拷贝一个类的对象给另一个同类型的对象。
就是把对象中的每个数据成员拷贝到目标对象相应的数据成员里边。
前自增量运算符应该返回引用
后自增量必须返回值
只能是成员的运算符:(系统为类提供的)=、()、[ ]、-〉
只能是友元的运算符:(cout是其它类的对象)cout<<、cin>>
既可以友元也可以成员的:(定义者提供)+、-等
下午看了一小时的ppt,把上午学的知识消化消化。
还是听的时候只能明白点,自己说不太明白,借鉴了点ppt上的内容加上自己的理解,
自己觉得需要多练习,少偷点懒。
然后和同学一起做游戏,很开心。
今天的总结都是手打的。
又是充实的一天。