From 794228dfcead2d83b3db27de9e1925ad94a5ce8a Mon Sep 17 00:00:00 2001 From: Stephan Rehfeld Date: Wed, 29 Apr 2026 17:47:42 +0200 Subject: [PATCH] Implementing Add for our Vector3 --- src/main.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main.rs b/src/main.rs index c47cf07..2461256 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,5 @@ +use std::ops::Add; + #[derive(Copy, Clone)] struct Vector3 { x: f64, @@ -11,7 +13,19 @@ impl Vector3 { } } +impl Add for Vector3 { + type Output = Vector3; + + fn add(self, rhs: Vector3) -> Self::Output { + Vector3::new(self.x + rhs.x, self.y + rhs.y, self.z + rhs.z) + } +} + fn main() { let vec1 = Vector3::new(1.0, 0.0, 0.0); let vec2 = Vector3::new(0.0, 1.0, 0.0); + + let vec3 = vec1 + vec2; + + println!("x = {}, y = {}, z = {}", vec3.x, vec3.y, vec3.z); }