MST
星途 面试题库

面试题:C# 自定义运算符与表达式重载

假设你有一个自定义的结构体 `MyVector` 表示二维向量,包含 `x` 和 `y` 两个浮点型成员变量。请为 `MyVector` 结构体重载 `+` 运算符,使其能够实现两个向量的加法运算,并编写一个使用该重载运算符的表达式示例。
24.9万 热度难度
编程语言C#

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>

struct MyVector {
    float x;
    float y;

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

int main() {
    MyVector v1 = {1.0f, 2.0f};
    MyVector v2 = {3.0f, 4.0f};
    MyVector result = v1 + v2;
    std::cout << "Result x: " << result.x << ", Result y: " << result.y << std::endl;
    return 0;
}

表达式示例:

MyVector v1 = {1.0f, 2.0f};
MyVector v2 = {3.0f, 4.0f};
MyVector result = v1 + v2;

这里 v1 + v2 就是使用重载 + 运算符进行向量加法运算的表达式。