<prompt> Tengeneza darasa la C linalowakilisha vekta ya 3D na mbinu za kuongeza, kutoa, bidhaa yenye nukta, bidhaa tofauti, ukubwa na kuhalalisha. Jumuisha wajenzi wanaofaa, wapataji, na wawekaji. Andika programu ya majaribio ili kuonyesha matumizi ya darasa hili.PLINFORMAT  <response>: pamoja na pamoja na darasa Vector3D umma: Wajenzi Vector3D : x0, y0, z0 Vector3Ddouble x, double y, double z : xx, yy, zz Getters na Setters double getX const return x; double getY const return y; double getZ const return z; utupu setXdouble x hii-x x; utupu setYdouble y hii-y y; utupu setZdouble z hii-z z; Nyongeza Opereta wa Vector3Dconst Vector3Dnyingine const rudisha Vector3Dx other.x, y other.y, z other.z; Kutoa Opereta wa Vector3D-const Vector3Dnyingine const kurudi Vector3D x - nyingine.x, y - nyingine.y, z - nyingine.z; Bidhaa ya nukta nukta mbili const Vector3D nyingine const kurudi x nyingine.x y nyingine.y z nyingine.z; Bidhaa ya msalaba Vector3D crossconst Vector3D other const rudisha Vector3D y other.z - z other.y, z nyingine.x - x nyingine.z, x nyingine.y - y nyingine.x ; Ukubwa double magnitude const rudisha std::sqrtx x y y z z; Kurekebisha Vector3D normalize const mag mara mbili ukubwa ; kurudi Vector3D x mag, y mag, z mag; Privat: mara mbili x, y, z;;int main Vector3D v11, 2, 3; Vector3D v24, 5, 6; Nyongeza Vector3D v3 v1 v2; std::cout Ongeza: v3.getX , v3.getY , v3.getZ n; Kutoa Vector3D v4 v1 - v2; std::cout Utoaji: v4.getX , v4.getY , v4.getZ n; Bidhaa ya nukta nukta mbiliProduct v1.dotv2; std::cout Dot product: dotProduct n; Bidhaa ya msalaba Vector3D v5 v1.crossv2; std::cout Bidhaa tofauti: v5.getX , v5.getY , v5.getZ n ; Ukubwa ukubwa mara mbili v1.magnitude; std::cout Ukubwa wa v1: magnitude n; Kurekebisha Vector3D v6 v1.normalize; std::cout Urekebishaji wa v1: v6.getX , v6.getY , v6.getZ n ; kurudi 0; 