#pragma once #include "Array.h" namespace MbD { template class Vector : public Array { public: Vector() {} Vector(size_t count) : Array(count) {} Vector(size_t count, const T& value) : Array(count, value) {} Vector(std::initializer_list list) : Array{ list } {} double dot(std::shared_ptr> vec); }; template inline double Vector::dot(std::shared_ptr> vec) { size_t n = this->size(); double answer = 0.0; for (size_t i = 0; i < n; i++) { answer += this->at(i) * vec->at(i); } return answer; } }