本人理解运算符重载实质 就类似函数重载   运算符重载都可以写成一个函数 里面传入参数 来调用 运算符重载不是必须的 但是重载后会方便很多。

小例子 一个类实现 ++  和+某个数重载 大于号重载  有一点注释

// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
class Number
{
private:
int lowValue;
int highValue;
public:
Number(int lowValue, int highValue);
void Print();
Number operator++(); //这个类为返回值类型
Number operator+(Number& n);
bool operator<(Number& n);
};
bool Number::operator<(Number& n)
{
if (this->highValue<n.highValue) //说真的这个this->highValue 左边类的highValue 不是很理解 先记住把
{
return true;
}
else
{
return false;
} }
Number::Number(int lowValue, int highValue)
{
this->highValue = highValue;
this->lowValue = lowValue;
}
Number Number::operator++()
{
lowValue++;
highValue++;
return *this; //应该难理解的是这一句 当时学的时候老师没说自己也没想 本人拙见 this为这个函数的地址 例如 00401000 | 0001 0002 this为00401000 *this返回这个函数头 0001 0002
}
Number Number::operator+(Number& n)
{
lowValue = lowValue + n.lowValue;
highValue = highValue + n.highValue;
return *this;
}
void Number::Print()
{
printf("%d\n", lowValue);
printf("%d\n", highValue);
} void Test()
{
Number p(, ), p2(, ); if (p<p2)
{
cout << "True" << endl;
} (p + p2).Print(); }
int main(int argc, char* argv[])
{
Test(); return ;
}

C++运算符重载复习的更多相关文章

  1. PoEduo - C++阶段班【Po学校】-Lesson03-5_运算符重载- 第7天

    PoEduo - Lesson03-5_运算符重载- 第7天 复习前面的知识点 空类会自动生成哪些默认函数 6个默认函数    1  构造  2  析构   3  赋值  4 拷贝构造  5 oper ...

  2. Swift教程之运算符重载

    http://blog.csdn.net/mengxiangyue/article/details/43437797 原文地址:http://www.raywenderlich.com/80818/o ...

  3. C++运算符重载的一些困惑

    一.背景 在复习<C++基础与提高>时,自己实现运算符重载(i++)时,几次都报错.其实还是自己对运算符重载这一部分内容理解得不够透彻,于是再次看了下书上的内容,理解算是加深了一些,于是提 ...

  4. C++ 运算符重载时,将运算符两边对象交换问题.

    在C++进行运算符重载时, 一般来讲,运算符两边的对象的顺序是不能交换的. 比如下面的例子: #include <iostream> using namespace std; class ...

  5. C#高级编程笔记2016年10月12日 运算符重载

    1.运算符重载:运算符重重载的关键是在对象上不能总是只调用方法或属性,有时还需要做一些其他工作,例如,对数值进行相加.相乘或逻辑操作等.例如,语句if(a==b).对于类,这个语句在默认状态下会比较引 ...

  6. C++运算符重载

    C++运算符重载 基本知识 重载的运算符是具有特殊名字的函数,他们的名字由关键字operator和其后要定义的运算符号共同组成. 运算符可以重载为成员函数和非成员函数.当一个重载的运算符是成员函数时, ...

  7. 标准C++之运算符重载和虚表指针

    1 -> *运算符重载 //autoptr.cpp     #include<iostream> #include<string> using namespace std ...

  8. python运算符重载

    python运算符重载就是在解释器使用对象内置操作前,拦截该操作,使用自己写的重载方法. 重载方法:__init__为构造函数,__sub__为减法表达式 class Number: def __in ...

  9. 不可或缺 Windows Native (24) - C++: 运算符重载, 自定义类型转换

    [源码下载] 不可或缺 Windows Native (24) - C++: 运算符重载, 自定义类型转换 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 运算符重载 自 ...

随机推荐

  1. Docker - Docker 镜像 简介

    概述 简单介绍一下 docker 镜像的概念 1. 背景 复习 docker 镜像是 docker 最基础, 最重要的概念之一 所以正式使用之前, 最好有所理解和认识 2. 镜像 概述 简单描述 理解 ...

  2. 数据查询SELECT FROM

    [1]指定查询字段数据 SELECT  id,name,job FROM    stu_info;      #指定查询id,name,job字段的信息. SELECT  name FROM    s ...

  3. PHP基础学习笔记2

    一.数组 1.1 数值数组 1)自动分配 ID 键 ) ); ?> 即二维数组: 100 100 96 20 60 59 40 110 100 上面创建的二维数组自动分配ID键:下面以指定键的方 ...

  4. django 项目发布(centos 6.5 + python 3.5 + django1.9.8 + paramiko 2.0.2 + gunicorn )

    环境 os centos 6.5 64bit python 3.5 django 1.9.8 paramiko 2.0.2 gunicorn 19.6.0 安装 centos install pyth ...

  5. word中如何删除一张空白表格

    百度知道:https://baijiahao.baidu.com/s?id=1631677477148377412&wfr=spider&for=pc 当word中出现如下一张空白表格 ...

  6. jQuery的ajax方法的属性以及jsonp的随机数问题

    原文地址[ http://www.cnblogs.com/know/archive/2011/10/09/2204005.html ] <!DOCTYPE html PUBLIC "- ...

  7. malloc实现机制

    使用过c语言的都知道malloc是一个动态分配内存的函数,还可以通过free释放内存空间. 如果我们想分析一下malloc的源码,这其实不是一会就能看懂的,但是我们可以讨论一下malloc的简单实现. ...

  8. shell中遍历数组的几种方式

    #!/bin/bash arr=( '你好') length=${#arr} echo "长度为:$length" # for 遍历 for item in ${arr[*]} d ...

  9. 消息队列(五)--- RocketMQ-消息存储4

    问题 index 文件有什么作用,结构又是如何 概述 index 文件主要是为了 message key 服务的,rocketmq 发送消息的时候可以带上 key , messge key 是为了标识 ...

  10. rsyslog日志服务部署

    rsyslog简介 rsyslog是CentOS6和CentOS7默认的记录日志的服务 支持特性: UDP, TCP, SSL, TLS, RELP MySQL, PGSQL, Oracle实现日志存 ...