C++操作符重载
来源:互联网 发布:昊翔无人机软件 编辑:程序博客网 时间:2024/06/06 09:07
整理部分C++操作符重载,直接上代码:
myOperator.h
#pragma once#include <iostream>using namespace std;class myOperator{public:myOperator():x(0),y(0){a[0] = a[1] = 0;}friend ostream& operator<<(ostream& os, const myOperator& o);friend istream& operator>>(istream& is, myOperator& o);friend myOperator operator+(myOperator& p1, myOperator& p2);// 对象相加friend myOperator operator+(int value, myOperator& p1); // 对象和值相加friend bool operator==(const myOperator& p1, const myOperator& p2);friend bool operator!=(const myOperator& p1, const myOperator& p2);public:myOperator& operator=(const myOperator& p1);myOperator& operator+=(const myOperator& p1);int& operator[](int& i){return *(a+i);}const int& operator[](const int& i){return *(a+i);}private:string name;int x;int y;int a[2];};
myOperator.cpp
#include "myOperator.h"#include <string>ostream& operator<<(ostream& os, const myOperator& o){os<<o.x<<o.y<<o.name;return os;}istream& operator>>(istream& is, myOperator& o){is>>o.x>>o.y>>o.name;return is;}myOperator operator+(myOperator& p1, myOperator& p2){myOperator temp;temp.x = p1.x + p2.x;temp.y = p1.y + p2.y;temp.name = p1.name + p2.name;return temp;}myOperator operator+(int value, myOperator& p1){myOperator temp;temp.x = p1.x + value;temp.y = p1.y + value;//temp.name = p1.name.size() + value;return temp;}bool operator==(const myOperator& p1, const myOperator& p2){return (p1.x==p2.x)&&(p1.y==p2.y)&&(p1.name==p2.name);}bool operator!=(const myOperator& p1, const myOperator& p2){return !(p1==p2);}myOperator& myOperator::operator=(const myOperator& p1){this->x = p1.x;this->y = p1.y;this->name = p1.name;return *this;}myOperator& myOperator::operator+=(const myOperator& p1){this->x += p1.x;this->y += p1.y;this->name += p1.name;return *this;}
0 0
- C++【操作符重载】
- c++::操作符重载
- C++:操作符重载
- 操作符重载(C++)
- C++-重载操作符<< >> = + - * /
- c++_操作符重载
- C/C++: 操作符重载案例
- C++操作符重载专题(C++)
- 类型转换和操作符重载 (c#)
- C++——操作符重载
- 重载操作符 (c++primer 4e)
- 【C++】 重载操作符类编程
- 自定义数据类型,操作符重载实例[C#]
- C++primer读书笔记8-重载操作符
- C/C++ 之 操作符重载
- [c++]实例-类array,重载操作符
- C++,重载输出操作符<<, cout.operator()
- c++string类的操作符重载
- linux JDK,tar.gz,rpm具体细节
- nginx windows 下,关闭 error_log.log,access_log.log
- gsoap使用总结 开发实例(windwos+VS2005)
- scala学习资料
- JAVA数组
- C++操作符重载
- Oracle 11g必须开启的服务及服务详细介绍
- gigenet 服务器 8个ip
- OCP-1Z0-053-V13.02-632题
- ligerUI学习
- java设计模式之——策略模式
- android学习之路
- 从Delphi开始学Cocos2dx-3.0[0]: VS2012 与 安装 cocos2d-x-3.0alpha0
- 使用Xcode和Instruments调试解决iOS内存泄露