C/C++教程

C++运算符重载

本文主要是介绍C++运算符重载,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

注意事项

  • 运算符重载不改变运算符的优先级。
  • 以下运算符不能被重载:. .* :: ?: sizeof

以全局函数的形式重载:四则运算符号、逻辑判断符号、流运算符号
+ - * / == != < > <= >= << >>

以成员函数的形式重载:赋值类符号、自增符号、型强制转换符号、成员访问符号
= += -= *= /= ++ -- () [] ->

不限形式重载:内存管理符号
new delete new[] delete[]

friend T operator+(const T &c1, const T &c2);
friend T operator-(const T &c1, const T &c2);
friend T operator*(const T &c1, const T &c2);
friend T operator/(const T &c1, const T &c2);


friend bool operator==(const T &c1, const T &c2);
friend bool operator!=(const T &c1, const T &c2);


friend istream &operator>>(T & in, T &c);
friend ostream &operator<<(T & out, T &c);


T &operator+=(const T &c);
T &operator-=(const T &c);
T &operator*=(const T &c);
T &operator/=(const T &c);


T operator++();  	// ++ i
T operator++(int);  // i ++
T operator--();		// -- i
T operator--(int);	// i --


operator double(); // 重载强制类型转换运算符时,不需要指定返回值类型


T &operator[](int);
const T &operator[](int) const;
这篇关于C++运算符重载的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!