Представление информации (данных о журнале: название, номер и фамилия читателя) в виде класса

Страницы работы

Содержание работы

Министерство образования и науки, МОЛОДЕЖИ И СПОРТА Украины

Национальный аэрокосмический университет им. Н.Е. Жуковского «ХАИ»

Кафедра 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];

}

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
106 Kb
Скачали:
0