重载运算符operater用法

时间:2023-02-04 17:33:50
#include <iostream>
using namespace std;
class CBook
{
protected:
int m_iPage;
public:
CBook(int iPage)
{
m_iPage = iPage;
}
/*operator类型名();
operator是需要重载的运算符,整个语句没有返回类型,因为
类型名就代表了它的返回类型,重载运算符将对象装换成类型名规定的类型
装换时的形式就想强制转换一样。如果没有重载运算符定义,
直接用强制转换编译器无法通过编译。
*/
CBook operator+(CBook b)//运算符重载实现类对象的加法
{
return CBook(m_iPage+b.m_iPage);
}
void display()
{
cout << m_iPage << endl;
}
};
void main()
{
CBook bk1(10);
CBook bk2(20);
CBook tmp(0);
tmp = bk1 + bk2;//两个对象相加复制给tmp
tmp.display();//显示
}