Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- class Vektor3d
- {
- double x, y, z;
- public:
- /* ovo isto je dodato na primjer sa predavanja */
- Vektor3d()
- {
- x = 0;
- y = 0;
- z = 0;
- }
- Vektor3d(double x, double y, double z)
- {
- this->x = x;
- this->y = y;
- this->z = z;
- }
- /* dovle */
- void Postavi(double x, double y, double z)
- {
- Vektor3d::x = x;
- Vektor3d::y = y;
- Vektor3d::z = z;
- }
- void Ocitaj(double &x, double &y, double &z) const
- {
- x = Vektor3d::x;
- y = Vektor3d::y;
- z = Vektor3d::z;
- }
- void Ispisi() const
- {
- std::cout << "{" << x << "," << y << "," << z << "}";
- }
- double DajX() const
- {
- return x;
- }
- double DajY() const
- {
- return y;
- }
- double DajZ() const
- {
- return z;
- }
- double DajDuzinu() const
- {
- return std::sqrt(x * x + y * y + z * z);
- }
- Vektor3d &PomnoziSaSkalarom(double s)
- {
- x *= s;
- y *= s;
- z *= s;
- return *this;
- }
- Vektor3d &SaberiSa(const Vektor3d &v)
- {
- x += v.x;
- y += v.y;
- z += v.z;
- return *this;
- }
- friend Vektor3d ZbirVektora(const Vektor3d &v1, const Vektor3d &v2)
- {
- Vektor3d v3;
- v3.x = v1.x + v2.x;
- v3.y = v1.y + v2.y;
- v3.z = v1.z + v2.z;
- return v3;
- }
- /* dodato */
- friend Vektor3d &operator +=(Vektor3d &v1, const Vektor3d &v2)
- {
- v1.x += v2.x; v1.y += v2.y; v1.z += v2.z;
- return v1;
- }
- friend Vektor3d &operator *=(Vektor3d &v1, int p)
- {
- v1.x *= p; v1.y *= p; v1.z *= p;
- return v1;
- }
- friend inline Vektor3d operator +(Vektor3d v1, const Vektor3d &v2)
- {
- return v1 += v2;
- }
- friend ostream &operator <<(ostream &tok, const Vektor3d &v)
- {
- tok << "{" << v.x << "," << v.y << "," << v.z << "}";
- return tok;
- }
- /* dovde */
- };
- int main()
- {
- Vektor3d a;
- a.Postavi(1, 2, 3);
- Vektor3d b;
- b.Postavi(2, 3, 4);
- Vektor3d c;
- c = a + b;
- cout << c;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement