Министерство образования и науки, МОЛОДЕЖИ И СПОРТА Украины
Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ»
Кафедра 304
Лабораторная работа №4
Тема: «Классы»
по дисциплине «Программирование»
Выполнила студентка группы 315
Корнило А.М.
Проверилдоцент каф. 304
Бакуменко Н.С.
____________________
(подпись, дата)
Харьков
2013
Лабораторная работа №4
Классы
Цели: решить данную задачу в виде класса; составление программ с использованием функций; усвоение принципа локализации
Постановка задачи:
1. Представить данную в варианте информацию в виде класса.
Решить поставленную задачу на компьютере и проанализировать результаты.
2. Оформить отчет.
Требования к лабораторным работам по классам.
1. Должна содержать, по крайней мере, два класса – первый, описывающий поля Вашего класса, согласно заданию, а второй – содержащий массив из элементов первого класса.
2. Каждый из классов должен иметь, по крайней мере, один конструктор. Если класс содержит указатели, то и деструктор.
3. Все поля каждого класса должны быть описаны как private
4. Для каждого класса необходимо реализовать - переопределить операции ввода-вывода << и >>, например, как дружественные функции.
5. Методы класса, которые решаю т задачи Вашего варианта, не должны что-то выводить на печать, в файл, а также получать информацию непосредственно из файла (кроме операций << и >>). Исходные данные – поля класса и параметры, результаты – поля класса, параметры и возвращение результата через return.
6. Текст программы должен содержать, пусть минимальные, спецификации – комментарии.
7. Для своего класса (классов) переопределить какую-нибудь операцию (операции). По возможности операции должны быть полезными при выполнении заданий Вашего варианта.
Журнал: название, номер и фамилия читателя.
Найти: последний номер заданного журнала; фамилии читателей заданного журнала.
Выполнение:
Текст программы:
Tmag.h
#pragma once
#include "mag.h"
const int max_num = 40; // максимальное количество журналов
class Tmag
{
public:
Tmag(void);//конструктор
friend istream & operator >> (istream & f1, Tmag &u ) ;//дружественная функция, перегрузка операции ввода
friend ostream & operator << (ostream & f2, Tmag &u ) ;//дружественная функция, перегрузка операции вывода
int num (void);//последний номер заданного журнала
void reader (void);//фамилии читателей журналов
mag & operator [] (int i);//перегрузка оператора взятие элемента массива
~Tmag(void);//деструктор
private:
char str[max_num];//заданный журнал
char *a [max_num];//фамилии читателей журналов
mag mass[max_num];//массив из элементов класса-наследника
int n;//количество элементов в массиве
};
mag.h
#pragma once
#include <iostream>
using namespace std;
const int max_n = 15; // максимальная длина фамилии читателя и названия журнала
class mag
{
public:
//mag (char * new_namemag="Космос", int new_nomer=5, char * new_name="Демидович");
mag(void);//конструктор
char* Get_namemag(void);//возвращает название журнала
int Get_nomer(void);//возвращает номер
char* Get_name(void);//возвращает фамилию чиателя
friend istream & operator >> (istream & f1, mag &p);//дружественная функция, перегрузка операции ввода
friend ostream & operator << (ostream & f2, mag &p);//дружественная функция, перегрузка операции вывода
~mag(void);//деструктор
private:
// запись о журнале содержит данные:
char namemag[max_n];//название журнала
int nomer;//номер журнала
char name[max_n];//фамилия читателя
};
Tmag.cpp
#include "StdAfx.h"
#include "Tmag.h"
Tmag::Tmag(void)//конструктор
{
}
mag & Tmag::operator [] (int i)//перегрузка оператора взятие элемента массива
{
return mass[i];
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.