Рисунок 5.1- Робота програми 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Рисунок 5.1- Робота програми

Поиск

 

Міністерство освіти і науки України

Запорізький національний технічний університет

 

 

Кафедра програмних засобів

 

Звіт

з лабораторної роботи №5

«Перевантаження операцій»

Виконав

ст. гр. КНТ-423                                                             В.В. Білевський

 

Прийняв                                                          

ст. викл.                                                     Н. О. Миронова

      

 

 

Запоріжжя, 2014

5.1Мета роботи:Навчитись використовувати перевантаження математичних операцій та операцій введення-виведення при розробці класів.

 

5.2 Завдання до роботи:Створити динамічний клас для роботи з рядками (послідовностями символів). Максимальна довжина послідовності – 65535, код завершення послідовності – нуль. Здійснити перевантаження символів операцій:

"=" – динамічне присвоєння,

" << " , " >> " – консольне введення-виведення значень;

" << " , " >> " - введення із файлу і виведення у файл.

Передбачити можливість множинного введення

    5.3 Текст програми:

#include<iostream>

#include<string>

#include<fstream>

using namespace std;

 

class str{

char s[65536];

public:

str& operator>>(ofstream &ofs);

str& operator <<(ifstream &ifs);

str& operator=(str &a);

friend ostream& operator<<(ostream& ,str&);

friend istream& operator>>(istream& ,str&);

};

str& str::operator >>(ofstream &ofs){

cout<<"Stroka sohranena v faile"<<endl;

ofs<<s;

return *this;

}

 str& str::operator <<(ifstream &ifs){

  cout<<"Stroka vzyata iz faila"<<endl;

ifs>>s;

return *this;

}

ostream& operator<< (ostream& a, str& b){

    a<<b.s;

     return a;}

istream& operator>> (istream& a, str& b){

a>>b.s;

return a;}

 

str& str::operator =(str &a){

int i=0;

while(a.s[i]){

s[i]=a.s[i];

i++;}

return *this;

}

 

 int main(){

ifstream ifs;

ifs.open("file.txt");

str obj1,obj2,obj3;

obj1<<ifs;

cout<<obj1;

ifs.close();

cin>>obj2;

cout<<obj2;

ofstream ofs("file.txt");

ofs<<obj2;

ofs.close();

}

 

5.4 Знімки з єкрану:

 

 



Поделиться:


Последнее изменение этой страницы: 2024-06-17; просмотров: 48; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.)