DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Перевантаження операцій у Borland C

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2015
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Інші
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „ Львівська політехніка “ Кафедра ІСМ  Звіт про виконання лабораторної роботи № 4 з курсу „Технологія проектування програмних систем” на тему: «Перевантаження операцій у Borland C++» Мета роботи: вивчення способів перевантаження операцій та їх використання для роботи з класами та об’єктами. Порядок роботи 1. Вивчити способи перевантаження операцій у Borland C++. 2. Використовуючи завдання до лабораторної роботи № 2, перевантажити ряд операцій для зручності роботи з об’єктами оголошених класів. 3. Оформити звіт по роботі. Програма та результати її виконання #include <stdio.h> #include <conio.h> #include <iostream.h> #include <fstream.h> #define null 0 template <class T> class Vector { private: T *p; int num; public: Vector(int); Vector(const Vector&); ~Vector(); friend ostream& operator <<(ostream&, Vector&); friend istream& operator >>(istream&, Vector&); friend ofstream& operator <<(ofstream&, Vector&); friend ifstream& operator >>(ifstream&, Vector&); Vector& operator=(Vector& ar); T operator[](int i); int size(void); void read(void); void write(void); void sort(void); }; // constructor 1 template <class T> Vector<T>::Vector(int num) { p = new T[num]; this->num = num; } // constructor 2 template <class T> Vector<T>::Vector(const Vector& ar) { if (p) delete []p; this.num = ar.num; p = new T[num]; for (int i=0; i<num; i++) p[i] = ar.p[i]; } // destructor template <class T> Vector<T>::~Vector() { delete []p; } // ostream overload for console output template <class T> ostream& operator <<(ostream& os, Vector<T>& ar) { for (int i=0; i<ar.num; i++) os << ar.p[i] << " "; os << endl; return os; } // istream overload for console input template <class T> istream& operator >>(istream& is, Vector<T>& ar) { for (int i=0; i<ar.num; i++) is >> ar.p[i]; return is; } // ofstream overload for file output template <class T> ofstream& operator <<(ofstream& ofs, Vector<T>& ar) { for (int i=0; i<ar.num; i++) ofs << ar.p[i] << " "; ofs << endl; return ofs; } // ifstream overload for file input template <class T> ifstream& operator >>(ifstream& ifs, Vector<T>& ar) { for (int i=0; i<ar.num; i++) ifs >> ar.p[i]; return ifs; } // get size of Vector template <class T> int Vector<T>::size(void) { return num; } // console input template <class T> void Vector<T>::read(void) { for (int i=0; i<num; i++) scanf("%d", &p[i]); } // console output template <class T> void Vector<T>::write(void) { for (int i=0; i<num; i++) printf("%d ", p[i]); } // sorting template <class T> void Vector<T>::sort(void) { T temp; for (int j=0; j<num-1; j++) for (int i=j; i<num; i++) { if (i==j) continue; if (p[i]<p[j]) { temp = p[j]; p[j] = p[i]; p[i] = temp; } } } template <class T> Vector<T>& Vector<T>::operator=(Vector<T>& ar) { if (this == &ar) return *this; if (p) delete []p; num = ar.num; p = new T[num]; for (int i=0; i<num; i++) p[i] = ar.p[i]; return *this; } template <class T> T Vector<T>::operator[](int i) { if (i<0 || i>=num) return null; else return p[i]; } void main(void) { int n,m; cout << "Choose size of vector A:\a " ; cin >> n; cout << "Choose size of vector B:\a " ; cin >> m; Vector<int> A(n); Vector<int> B(m); // input Vectors cout <<"Please, input "<< A.size() <<" elements of vector A. operator >> (input) worked:\n\a"; cin >> A; cout <<"Please, input "<< B.size() <<" elements of vector B. operator >> (input) worked:\n\a"; cin >> B; // output Vectors cout << "Vector A: "; cout << A; cout << "Vector B: "; cout << B; // overloaded operator = B = A; // output B after appropriation cout << "Vector B after appropriation(B=A): "; cout << B; // demonstrate operator[]. Output Vector B with operator[] cout << "Output Vector B with operator[](B[i]): "; for (int i=0; i<B.size(); i++) cout << B[i] << " "; cout << endl; }  Рис.1. Вигляд вікна програми після виконання Висновки Під час виконання лабораторної роботи я ознайомився зі способами перевантаження операцій та їх використанням для роботи з класами та об’єктами.
Антиботан аватар за замовчуванням

2015

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!