首页 > 其他分享 >运算符重载

运算符重载

时间:2024-07-14 09:40:30浏览次数:14  
标签:const Vector2 float 运算符 other others 重载

运算符重载是什么:
重新赋予运算符新含义,添加参数或创建,允许在程序中定义或修改运算符的行为 类似函数一样。
重载位置:在类中写相当于
举例:要实现两个向量相加

struct Vector2
{
	float x, y;
	Vector2(float x, float y)//初始化结构体变量
		:x(x),y(y)
	{
	}
	Vector2 Add(const Vector2& other)const
	{
		return Vector2(x + other.x, y + other.y);
	}
};
int main()
{
	Vector2 one(3.9f, 1.1f);
	Vector2 two(1.1f, 2.9f);
	Vector2 result = one.Add(two);

实现两个Vector2变量相乘
代码示例:

struct Vector2
{
	float x, y;
	Vector2(float x, float y)//初始化结构体变量
		:x(x),y(y)
	{
	}
	Vector2 Add(const Vector2& other)const
	{
		return Vector2(x + other.x, y + other.y);
	}
	Vector2 Multiply(const Vector2& others)//新实现的乘法函数
	{
		return Vector2(x * others.x, y * others.y);
	}

为了实现加法和乘法,重载 + 和 *
代码示例:

Vector2 operator +(const Vector2& other)
{
	return Vector2(x + other.x, y + other.y);
}

Vector2 operator *(const Vector2& others)
{
	return Vector2(x * others.x, y * others.y);
}
a+c相当于 a.+(c)//这么写只是方便理解 不能作为代码使用

标签:const,Vector2,float,运算符,other,others,重载
From: https://www.cnblogs.com/WZline/p/18301117

相关文章

  • 重载、覆盖(重写)、重定义(同名隐藏)的区别 (超详解)
    ......
  • 05day--C++日期类的实现与取地址运算符的重载
    这里写目录标题5.3⽇期类实现6.取地址运算符重载6.1const成员函数6.2取地址运算符重载5.3⽇期类实现Date.h#pragmaonce#include<iostream>usingnamespacestd;#include<assert.h>classDate{//友元函数声明friendostream&operator<<(ostream&......
  • 运算符的关系,什么叫一元运算符,二元运算符,三元运算符,运算符优先级,以及运算符的
    按照操作数个数区分:一元运算符:一元运算符只需要一个操作数。常见的一元运算符有:1.递增和递减运算符:++和--,用于对操作数进行增加或减少1。2.正负号运算符:+和-,用于表示正负数。3.逻辑非运算符:!,用于对布尔值进行取反。二元运算符:二元运算符需要两个操作数。常见的二元运......
  • 三元运算符 栈 堆 隐式转换 笔记
    是什么:相当于if语句的语法糖代码示例:std::stringrank=level>10?"Master":"Begining";判断条件?为真保留:为假保留;可以嵌套使用,最好别用看的头疼;栈通常非常小通常为1兆2兆;浅要提及堆上飞陪比栈花费更多时间,而且要手动释放内存若对象太大或要显式地控制对象的生存期,就在堆......
  • 运算符重载是什么???
    运算符重载是什么???运算符重载是C++中一种特殊的函数重载机制,它允许我们对已有的运算符赋予新的含义以适应不同数据类型的操作。通过运算符重载,我们可以使用自定义的类或结构体类型进行运算,从而提高代码的可读性和整洁性。运算符重载的实质是编写一个或多个特殊的成员函数或友元......
  • 003_python3 解释器 注释 运算符
    Python3解释器1.Linux设置环境变量$PATH=$PATH:/usr/local/python3/bin/python3#设置环境变量2.交互式编程$python#启动Python解释器3.脚本式编程Windows中写入脚本xx.py文件,执行pythonxx.py #cmd当中直接执行Linux中文件顶部写入  #!/usr/bin/envpyth......
  • 08_Shell运算符
    08_Shell运算符一、算数运算符expr整数表达式#!/bin/bash#整数运算(expr只能整数运算)expr1+1expr1\*2expr2/1expr2-1expr3%2#结果接收要用``反引号result=`expr1+1`echo$result二、比较运算符2.1、整数比较运算符运算符说明......
  • Lingo学习(三)——工厂合并、运算符、内置函数
    一、工厂合并(一)工厂合并——生产二维矩阵【引入】sets:                                factory/1..6/:a;                  plant/1..8/:d;                    Cooperation(fact......
  • C++入门——“命名空间”、“缺省参数”、“函数重载”、“引用”
    C++在C语言的基础上增加了许多东西,在我看来,它和它的名字一样,是C语言的Plus的Plus版本,而且支持C语言的大部分语法,让码农写起来很是别有一番韵味。在这里向大家介绍C++的一些语法结构。一、命名空间    在进行C语言的开发当中,随着代码量的增加,或者工程变得复杂,我们进行......
  • 衡庐浅析·C语言程序设计·第二章·运算符及其优先级关系(练习题一)
        本文适用于大学的期中期末考试、专升本(专接本、专插本)考试、408等考研预科。如有相关题目疑问或建议欢迎在评论区进行互动。    转载请标明出处。不知道大家有没有消化完第二章的内容。在这里我们将列出一些关于运算符及其优先级关系的课后练习题,方便大家......