- 3
- 0
- 约小于1千字
- 约 8页
- 2018-01-04 发布于浙江
- 举报
C09-运算符重载
运算符重载 重载运算符 意义(例) 重载条件 自定义的类型 不可重载的运算符 :: . -* 不可使用新的运算符 运算符重载 一元/二元运算符: 全局函数/成员函数 class TVector { public: int x,y; public: int GetX() const {return x;} int GetY() const {return y;} Tvector AddVector(const Tvector); // others functions }; Tvector AddVector(const Tvector,const Tvector); 二元运算符重载(1) 全局函数格式: 成员函数的格式: 重载后的表达式形式(成员函数) 左结合:a+b+c; (a.operator+(b)).operator+(c) 右结合:a=b=c; a.operator=(b.opertor=( c) ) 二元运算符重载(2) 函数的返回值 返回引用 返回非常量值 返回常量值 返回值优化 重载+和+=运算符对(- -=, * *=, 等) 重载赋值运算符号 限制:成员函数 格式: T operator=(const T); 默认的赋值运算 限制赋值运算 重载赋值运算符 原因:成员有指针,并动态分配内存时。 检查自我赋值: 效率 a=a; 的情况 一元运算符 全局函数 成员函数 增量/减量运算符(++/--) 前缀:T operator++ (); 后缀:T operator++(int); 迭代器 重载运算符的方针 运算符 建议使用 所有的一元运算符 成员 = () [] - -* 必须是成员 += -= *= /= ^==|=%=== 成员 所有其他二元运算符 非成员 * * *
原创力文档

文档评论(0)