Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* TP_Tutorijal_9 Zadatak_1 */
- #include <iostream>
- using std::cin;
- using std::cout;
- using std::endl;
- class Vektor3d {
- double x, y, z;
- public:
- /* this-> <=> Vektor3d:: */
- void Postavi(double x, double y, double z) { this->x = x; Vektor3d::y = y; Vektor3d::z = z; }
- void PostaviX(double x) { Vektor3d::x = x; }
- void PostaviY(double y) { Vektor3d::y = y; }
- void PostaviZ(double z) { Vektor3d::z = z; }
- void Ocitaj(double &x, double &y, double &z) const; // prototip
- void Ispisi() const { cout << "{" << x << "," << y << "," << z << "}"; }
- double DajX() const { return x; } // inspektor
- double DajY() const { return y; }
- double DajZ() const { return z; }
- Vektor3d PomnoziSaSkalarom (double s);
- void SaberiSa(const Vektor3d &v) { x += v.x; y += v.y; z += v.z; }
- friend Vektor3d ZbirVektora(const Vektor3d &v1, const Vektor3d &v2);
- };
- Vektor3d Vektor3d::PomnoziSaSkalarom(double s) {
- x *= s;
- y *= s;
- z *= s;
- return *this;
- }
- // IZVAN KLASE NE PISEMO FRIEND !!!
- Vektor3d ZbirVektora(const Vektor3d &v1, const Vektor3d &v2) {
- Vektor3d v;
- v.x = v1.x + v2.x;
- v.y = v1.y + v2.y;
- v.z = v1.z + v2.z;
- return v;
- }
- /* PRIJATELJSKA FUNKCIJA
- void Funkcija(Vektor3d v) {
- v.X; // da ovo omogucimo, fja Funkcija mora biti prijateljska u klasi Vektor3d !!
- } */
- // Sve duze metode (3 i vise linija koda) moramo definirati van klase !!!
- void Vektor3d::Ocitaj(double &x, double &y, double &z) const {
- x = Vektor3d::x;
- y = Vektor3d::y;
- z = this->z;
- }
- int main()
- {
- cout << endl << "Kreiram vektor v i postavljam mu sve koordinate na 3:" << endl;
- Vektor3d v;
- v.Postavi(3, 3, 3);
- v.Ispisi();
- cout << endl << "Kreiram vektor temp i postavljam mu sve koordinate na 7:" << endl;
- Vektor3d temp;
- // Testiranje setera
- temp.PostaviX(7);
- temp.PostaviY(7);
- temp.PostaviZ(7);
- temp.Ispisi();
- cout << endl << "Sabiram vektor v sa vektorom temp:" << endl;
- v.SaberiSa(temp);
- // Testiranje getera
- cout << "Koordinata x: " << v.DajX();
- cout << "\nKoordinata y: " << v.DajY();
- cout << "\nKoordinata z: " << v.DajZ();
- cout << endl << "Mnozim vektor v sa skalarom (6):" << endl;
- v.PomnoziSaSkalarom(6);
- v.Ispisi();
- cout << endl << "Postavljam nove koordinate vektoru v i dodajem mu vektor temp pomocu 'ZbirVektora':" << endl;
- v.Postavi(3, 3, 3);
- v = ZbirVektora(v, temp);
- v.Ispisi();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement