zoukankan      html  css  js  c++  java
  • 多态性——运算符重载

    多态性——运算符重载

    “C++中预定义的运算符的操作对象只能是基本数据类型。”
    “运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型时导致不同的行为。”
    “运算符重载的实质就是函数重载。”
    根据上述教材中给出的对运算符的重载的相关解释,我们可以初步了解到运算符的重载的原理和作用,在这篇博客中我们会进一步用实验去实现运算符重载的原理和作用。

    1、运算符重载实现

    在这开始,定义了一个类Point,面向的对象是二维坐标轴中的点,在现实中我们经常会对这些点进行
    操作,像一般的点的相加相减,但是在程序中如果这样做的话编译器会报错,并提示“没有与这些操作数匹配的’+‘运算符”。

    在这里插入图片描述

    报错原因:
    在C++中运算符“+”在未重载时只能对一些基本类型进行操作,例如int、double型的数据,其他运算符请参照下表:
    在这里插入图片描述
    在这里插入图片描述

    解决办法:
    对运算符进行重载
    代码:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    运行结果:
    在这里插入图片描述

    2、运算符重载原理与实质

    运算符重载是针对类的,也就是说运算符重载是针对某一类进行的,就像上述代码中一样,我们对运算符“+”的重载是在Point类的定义里实现的,是Point类的成员函数:在这里插入图片描述

    另外也可构造成友元函数:
    例:对后缀自增的重载
    在这里插入图片描述
    在调用时可以直接使用运算符“+”
    在这里插入图片描述
    也可通过调用成员函数的形式
    在这里插入图片描述

    最后附上可参照学习的视频:
    [video(video-k69c11Vj-1572143292793)(type-tencent)(url-https://v.qq.com/txp/iframe/player.html?vid=w05546k1zik)(title-C++入门.通俗易懂, 滑稽有意思的教程《运算符重载》)]

  • 相关阅读:
    poli-java开源BI软件
    Spring Boot 教程
    微信小程序支持windows PC版了
    Java-JDK-windows和linux版-百度云下载
    ssh -i 密钥文件无法登陆问题
    锐捷交换机18010-X端口假死现象
    zabbix4.4安装
    yum只下载不安装
    openstack迁移计算节点所有云主机
    ceph SSD HDD分离与openstack调用
  • 原文地址:https://www.cnblogs.com/TracerLyh/p/11746907.html
Copyright © 2011-2022 走看看