Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- template <typename T>
- class My_Point {
- T x;
- T y;
- public:
- My_Point(T x, T y) : x(x), y(y) {};
- My_Point() {
- string wyjatek = "Wyjatek!";
- throw wyjatek;
- }
- T X() {
- return x;
- }
- T Y() {
- return y;
- }
- };
- template <typename T>
- class My_Vector {
- My_Point<T>* a;
- My_Point<T>* b;
- public:
- My_Vector() {
- std::string wyjatek = "Konstruktor domyslny Vector!";
- throw wyjatek;
- }
- My_Vector(My_Point<T> &a, My_Point<T> &b) {
- this->a = new My_Point<T>(a.X(), a.Y());
- this->b = new My_Point<T>(b.X(), b.Y());
- }
- ~My_Vector() {
- delete a;
- delete b;
- }
- double dlugosc() {
- return sqrt(pow((a->X() - b->X()), 2) + pow((a->Y() - b->Y()), 2));
- }
- T getX() {
- return a->X();
- }
- T getY() {
- return a->Y();
- }
- T getXb() {
- return b->X();
- }
- T getYb() {
- return b->Y();
- }
- double iloczyn(My_Vector<T> &R, My_Vector<T> &M) {
- return ((R.getXb() - R.getX())*(M.getXb() - M.getX())) + ((R.getYb() - R.getY())*(M.getYb() - M.getY()));
- }
- };
- int main()
- {
- My_Point<int> A(1, 2);
- My_Point<int> B(3, 5);
- My_Point<int> A1(1, 2);
- My_Point<int> B1(1, 2);
- My_Vector<int> C(A, B);
- My_Vector<int> D(A1, B1);
- double g;
- double h;
- double j;
- g = C.dlugosc();
- h = D.dlugosc();
- j = C.iloczyn(C, D);
- cout << "Dlugosc wektora 1: " << g << "\n";
- cout << "Dlugosc wektora 2: " << h << "\n";
- cout << "Iloczyn skalarny: " << j << "\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement