C++操作符重载
作者:网络转载 发布时间:[ 2012/11/20 9:56:46 ] 推荐标签:
重载操作符是具有特殊名称的函数:保留字operator后接需定义的操作符符号。除了函数调用操作符之外,重载操作符的形参数目(包括成员函数的隐式this指针)与操作符的操作数数目相同。函数调用操作符可以接受任意数目的操作数。
大多数操作符都可以重载,所以我列出不能重载的操作符,一共有四种:
:: .* . ?:
当操作符为类的成员函数时,this指向左操作数。
下面通过实例说明操作符重载
源代码下载:点击下载。
1、算术操作符
定义一个Point类,Point.h头文件:
// Point.h: interface for the Point class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_POINT_H__E8270DD2_C889_4B24_BC82_E154B77FDFCF__INCLUDED_)
#define AFX_POINT_H__E8270DD2_C889_4B24_BC82_E154B77FDFCF__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class Point
{
public:
Point();
Point(int x,int y);
virtual ~Point();
int getX();
int getY();
Point operator+(const Point&);
private:
int x,y;
};
#endif // !defined(AFX_POINT_H__E8270DD2_C889_4B24_BC82_E154B77FDFCF__INCLUDED_)
Point.cpp源文件:
// Point.cpp: implementation of the Point class.
//
//////////////////////////////////////////////////////////////////////
#include "Point.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
Point::Point()
{
}
Point::Point(int x,int y)
{
this->x=x;
this->y=y;
}
Point::~Point()
{
}
Point Point::operator +(const Point &pt)
{
Point p(*this);
p.x+=pt.x;
p.y+=pt.y;
return p;
}
int Point::getX()
{
return this->x;
}
int Point::getY()
{
return this->y;
}
相关推荐
更新发布
常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11系统性能测试及调优前期准备
2021/4/15 14:41:29国内比较好用的5款测试管理工具
2021/3/25 17:23:31