C++官方文档-运算符重载
#include <iostream>
using namespace std; class CVector
{
public:
int x, y;
CVector()
: x(), y()
{
}
CVector(int a, int b)
: x(a), y(b)
{
}
;
CVector operator +(const CVector&);
}; //+号是双目运算,这个成员函数的形式
CVector CVector::operator +(const CVector& param)
{
CVector temp;
temp.x = x + param.x;
temp.y = y + param.y;
return temp;
} //+号的非成员函数形式
CVector operator+(const CVector& lhs, const CVector& rhs)
{
cout<<"no member function"<<endl;
CVector temp;
temp.x = lhs.x + rhs.x;
temp.y = lhs.y + rhs.y;
return temp;
}
/**
*运算符重载表,注意成员函数和非成员函数的区别
* Expression Operator Member function Non-member function
* @a + - * & ! ~ ++ -- A::operator@() operator@(A)
* a@ ++ -- A::operator@(int) operator@(A,int)
* a@b + - * / % ^ & | < > == != <= >= << >> && || , A::operator@(B) operator@(A,B)
* a@b = += -= *= /= %= ^= &= |= <<= >>= [] A::operator@(B) -
* a(b,c...) () A::operator()(B,C...) -
* a->b -> A::operator->() -
* (TYPE) a TYPE A::operator TYPE() -
*/ int main()
{
CVector foo(, );
CVector bar(, );
CVector result;
CVector result2 = foo.operator +(bar);
result = foo + bar;
CVector result3 = foo+bar;
cout << result.x << ',' << result.y << endl;
cout << result2.x << ',' << result2.y << endl;
cout << result3.x << ',' << result3.y << endl;
return ;
}
C++官方文档-运算符重载的更多相关文章
- 《Apache Velocity用户指南》官方文档
http://ifeve.com/apache-velocity-dev/ <Apache Velocity用户指南>官方文档 原文链接 译文连接 译者:小村长 校对:方腾飞 Qui ...
- Spring 通读官方文档
Spring 通读官方文档 这部分参考文档涵盖了Spring Framework绝对不可或缺的所有技术. 其中最重要的是Spring Framework的控制反转(IoC)容器.Spring框架的Io ...
- 【AutoMapper官方文档】DTO与Domin Model相互转换(中)
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...
- Kotlin开发语言文档(官方文档)-- 目录
开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...
- Spark SQL 官方文档-中文翻译
Spark SQL 官方文档-中文翻译 Spark版本:Spark 1.5.2 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 Data ...
- clang format 官方文档自定义参数介绍(中英文)
官方文档:http://clang.llvm.org/docs/ClangFormatStyleOptions.html 中文 在代码中配置样式 当使用 clang::format::reformat ...
- TestNG官方文档中文版(2)-annotation(转)
1. 介绍 TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服务器). 编写一个测试的 ...
- Matlab最新的官方文档中文翻译
文章翻译的是Matlab最新的官方文档R2016b,可能后续如果我还有时间会继续翻译,希望能够帮到大家,翻译的不好请大家不要吐槽. Matlab官方文档地址:http://cn.mathworks.c ...
- OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)
OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...
随机推荐
- lamdba 性能测试 大数据内存查找
由于工作中需要对大量数据进行快速校验,试验采用读入内存List实体采用lamdba查找来实现. 实际需求:实际读入内存数据 50W条记录主集数据,还包含约20个子集,子集最大记录数300W条记录. ...
- Ubuntu中敲写c语言步骤
1.进入Ubuntu界面 1.1按快捷键 Ctrl + Alt + T: 1.2 安装vim:输入 sudo apt-get install vim: 1.3 安装gcc:输入 sudo apt-ge ...
- CentOS 7关闭图形桌面开启文本界面
1,命令模式systemctl set-default multi-user.target 2,图形模式systemctl set-default graphical.target CentOS 7 ...
- [Boolan-C++学习笔记]第二周整理
1.对于String类型的类(含有指针) 其中的指针成员能够灵活的申请存储空间,但指针操作又带来内存泄漏的风险,变更指针的操作需要尤为谨慎. 要点在于写好BigThree 构造函数 { 完成成员初始化 ...
- 网络流--最小费用最大流MCMF模板
标准大白书式模板 #include<stdio.h> //大概这么多头文件昂 #include<string.h> #include<vector> #includ ...
- 【BZOJ1702】[usaco2007margold]队列平衡
原来蛤习线性探测的时候要每次加一个稍大一点的数而不是每次+1……连蛤习都不会写,我tmd是有多弱 原题: N(1<=N<=100000)头牛,一共K(1<=K<=30)种特色, ...
- 【网络编程】socket异常
Socket异常 客户端异常 java.net.ConnectException: Connection refused: connect. 该异常发生在客户端进行new Socket(ip, por ...
- stenciljs ionic 团队开发的方便web 组件框架
stenciljs 是ionic 团队开发的方便组件话开发的js 框架,具体以下特点 简单,零配置,简单的api,typescript 支持 性能,压缩之后6Kb,支持ssr,以及强大的原生web c ...
- 注册表禁用和启用USB端口
USB端口禁用把下面代码另存为文件:USB_Disable.batcSCript \\AppServices\netlogon\USB_Disable.vbs--------------------- ...
- gphoto2 canon eos450d
hjs@ubuntu:~$ gphoto2 --capture-image-and-download ...