重载操作符 'operator'
operator 是 C++ 的(运算符的)重载操作符。用作扩展运算符的功能。
它和运算符一起使用,表示一个运算符函数,理解时应将 【operator+运算符】 整体上视为一个函数名。
要注意的是:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只能通过函数的方式(c++中,“功能”都是由函数实现的)。
使用时:
【返回类型】 【operator+运算符】 (const ElemType&a)const {...}
为什么需要重载操作符?
系统的所有操作符,一般情况下,只支持基本数据类型和标准库中提供的class。
而针对用户自己定义的类型,如果需要其支持基本操作,如’+’,‘-’,‘*’,‘/’,‘==’等等,则需要用户自己来定义实现(重载)这个操作符在此新类型的具体实现。
例:
创建一个point类并重载‘+’,‘-’运算符;
struct point
{
double x;
double y;
point() {};
//初始化
point(double a,double b)
{
x = a;
y = b;
};
//重载+运算符
point operator + (const point& a) const
{
return point (x+ a.x, y+ a.y);
}
//重载-运算符
point operator - (const point& a)const
{
return point(x-a.x, y-a.y);
}
};
检验;
int main()
{
point w(, ), v(, );
printf("w与v的坐标分别为:\n");
printf("w = (%.2f, %.2f)\nv = (%.2f, %.2f)\n", w.x, w.y, v.x, v.y);
point z = w+ v;
printf("w+v 的值z = (%.2f, %.2f)\n", z.x, z.y);
z = w- v;
printf("w-v 的值z = (%.2f, %.2f)\n", z.x, z.y);
return ;
}
检验结果;

end;
重载操作符 'operator'的更多相关文章
- 重载操作符 operator overloading 学习笔记
重载操作符,只是另外一种调用函数的方法和表现方式,在某些情况它可以让代码更简单易读.注意不要过度使用重载操作符,除非它让你的类更简单,让你的代码更易读. 1语法 如下: 其中友元,关键字不是必须的,但 ...
- C++重载操作符operator
operator是C++关键字,用于对C++进行扩展: 1.可以被重载的操作符:new,new[],delete,delete[],+,-,*,/,%,^,&,|,~,!,=,<,> ...
- [019]转--C++ operator关键字(重载操作符)
原博客:http://www.cnblogs.com/speedmancs/archive/2011/06/09/2076873.html operator是C++的关键字,它和运算符一起使用,表示一 ...
- C++ operator关键字(重载操作符)(转)
operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算 ...
- C++中operator关键字(重载操作符)
operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算 ...
- C++ operator(重载操作符) 【转】
转自:http://www.cnblogs.com/xiangxiaodong/archive/2012/02/12/2348144.html operator是C++的关键字,它和运算符一起使用,表 ...
- C++的重载操作符(operator)介绍(转)
本文主要介绍C++中的重载操作符(operator)的相关知识. 1. 概述 1.1 what operator 是C++的一个关键字,它和运算符(如=)一起使用,表示一个运算符重载函数,在理解时可将 ...
- C++ operator关键字(重载操作符)
operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面 ...
- C++ 友元(friend关键字)、类中的重载、操作符重载(operator关键字)
C++ 中友元的用法: 1.在类中使用friend关键字声明 2.类的友元可以是其它类或者具体函数 3.友元不是类的一部分 4.友元不受类中访问级别的限制 5.友元可以直接访问具体类中的所有成员. 友 ...
随机推荐
- mql4入门(1)
博主比较忙,因此也就抽空写写.等最后全部写完了再汇总一下. 说到金融,我想肯定有很多人印象里就是一个不太大的大厅,一群交易员望着一堆背景为黑的曲线图的场景. 比如这样 但是试想一下,交 ...
- 百度之星资格赛 1004 度度熊的午饭时光(01背包+最小序号和+字典序+有bug)
分析 首先声明一下,我的代码有漏洞的,求大神给个正确代码 思路如下: 首先做一遍01背包记录路径并求出最大总分,令path[i][j]表示第i个物品包含在dp[j]的求值过程中.再逆序枚举money, ...
- kibana 操作
插入时不指明id,不会自动生成id,和视频中的不一样啊 解决: 其实是可以的,不过put不可以 POST才可以 中文输入有问题: 待解决: 基本操作记录 GET _search { "que ...
- 用jquery的animate动画函数做的网页效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- asp,php,jsp 不缓存网页的办法
ASP实例源码浏览次数:4 一般地,我们要查看Internet 网上的一个网页,那么 当您第一次访问这个网页的时候, 系统首先要将这个网页下载到您的本地计算机 的一个临时文件夹中进行缓存, 当在一定的 ...
- tcp聊天交互
#****setver端 import socket sk = socket.socket() adress = ('127.0.0.1', 8032) sk.bind(adress) sk.list ...
- Educational Codeforces Round 18 D
Description T is a complete binary tree consisting of n vertices. It means that exactly one vertex i ...
- 2017百度之星资格赛 1003:度度熊与邪恶大魔王(DP)
.navbar-nav > li.active > a { background-image: none; background-color: #058; } .navbar-invers ...
- 组合数+容斥原理 UVALive 7040 Color(14西安F)
题目传送门 题意:n盆花涂色,相邻不能涂相同的颜色,从m中颜色选取k种颜色涂,保证正好有k种颜色 分析:从m中颜色选取k种就是C (m, k),然后第一个有k种选择,之后的都有k-1种选择,这样是不超 ...
- JAVA线程操作常见面试题 包括不使用内部类对多个线程加减1
class ManyThreads2 { private int j = 0; public synchronized void inc() { j++; System.out.println(Thr ...