码迷,mamicode.com
首页 > 编程语言 > 详细

C++学习笔记15:操作符重载的函数原型列表(推荐)

时间:2016-12-27 00:38:20      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:管理操作   推荐   void   log   赋值   char   row   转换   str   

//普通四则运算
friend A operator +(const A & lhs, const A & rhs);
friend A operator -(const A & lhs, const A & rhs);
friend A operator *(const A & lhs, const A & rhs);
friend A operator /(const A & lhs, const A & rhs);
friend A operator %(const A & lhs, const A & rhs);
friend A operator *(const A & lhs, const int & rhs);//标量运算,如果存在
friend A operator *(const int & lhs, const A & rhs);//标量运算,如果存在

//关系操作符
friend bool operator == (const A & lhs, const A & rhs);
friend bool operator != (const A & lhs, const A & rhs);
friend bool operator < (const A & lhs, const A & rhs);
friend bool operator <= (const A & lhs, const A & rhs);
friend bool operator > (const A & lhs, const A & rhs);
friend bool operator >= (const A & lhs, const A & rhs);

//逻辑操作符
friend bool operator || (const A & lhs, const A & rhs);
friend bool operator && (const A & lhs, const A & rhs);
bool A::operator!();

//正负操作符
A A::operator +();//取正
A A::operator -();//取负

//递增递减操作符
A & A::operator++();//前缀递增
A  A::operator++(int);//后缀递增
A & A::operator--();//前缀递减
A  A::operator--(int);//后缀递减

//动态存储管理操作符:全局或者成员函数均可
void * operator new(std::size_t size) throw(bad_alloc);
void * operator new(std::size_t size, const std::nothrow_t &) throw();
void * operator new(std::size_t size, void *base) throw();
void * operator new[](std::size_t size) throw(bad_alloc);
void operator delete(void *p);
void operator delete[](void *p);

//赋值操作符
A & operator = (A &rhs);
A & operator = (const A & rhs);
A & operator = (A && rhs);
A & operator += (const A & rhs);
A & operator -= (const A & rhs);
A & operator *= (const A & rhs);
A & operator %= (const A & rhs);
A & operator &= (const A & rhs);
A & operator /= (const A & rhs);
A & operator |= (const A & rhs);
A & operator ^= (const A & rhs);
A & operator <<= (int n);
A & operator >>= (int n);

//下标操作符
T & A::operator[] (int i);
const T & A::operator[](int i)const;

//函数调用操作符
T A::operator()(...);//参数可选

//类型转换操作符
A::operator char *() const;
A::operator int() const;
A::operator double() const;

//逗号操作符
T2 operator,(T1 t1, T2 t2);//不建议重载

//指针与选员操作符
A * A::operator & ();//取址操作符
A & A::operator *();//引领操作符
const A & A::operator *() const;//引领操作符
C * A::operator->();//选员操作符
const C * A::operator->() const;//选员操作符
C & A::operator->*(...);//选员操作符,指向类成员的指针

//流操作符
friend ostream & operator << (ostream &os, const A &a);
friend istream & operator >> (istream &is, A &a);

 

C++学习笔记15:操作符重载的函数原型列表(推荐)

标签:管理操作   推荐   void   log   赋值   char   row   转换   str   

原文地址:http://www.cnblogs.com/hujianglang/p/6221041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!