DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт про виконання лабораторної роботи № 4 з курсу «Технологія проектування програмних систем» на тему: «Перевантаження операцій у Borland C++»

Оригінальна назва роботи

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

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

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

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

Рік:
2006
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Технології проектування комп’ютерних систем
Група:
КН
Коротко про документ

Про що ця робота

У звіті досліджено перевантаження операцій у середовищі Borland C++ на прикладі роботи з класами та векторами. Наведено програмний код реалізації шаблону класу та результати тестування.

У роботі розглядаються

  • Перевантаження операцій
  • Об'єктно-орієнтоване програмування
  • Шаблони класів у C++
  • Робота з векторами
  • Введення та виведення даних
  • Мова програмування C++

Зміст і розділи

  1. Мета роботи
  2. Порядок роботи
  3. Програма та результати її виконання
  4. Висновки
Для кого:Студенти технічних спеціальностей, програмісти, викладачі
Викладачі:Викладач кафедри

Ключові поняття

перевантаження операційкласоб'єктшаблонпотікBorland C++

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

Міністерство освіти і науки України Національний університет „ Львівська політехніка “ Кафедра ІСМ  Звіт про виконання лабораторної роботи № 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. Вигляд вікна програми після виконання Висновки Під час виконання лабораторної роботи я ознайомився зі способами перевантаження операцій та їх використанням для роботи з класами та об’єктами.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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