Форум программистов, компьютерный форум CyberForum.ru

Иерархия классов - C++

Восстановить пароль Регистрация
 
kvartira
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 20
09.01.2013, 21:50     Иерархия классов #1
Добрый вечер.
Такое задание.
Реализовать иерархию понятий "Студент" , "Группа" , "Факультет" . Группу представить совокупностью студентов , а факультет - набором групп. Решить задачи расчета средней успеваемости по факультету в целом и отдельно по группам , а так жэ задачу перевода указанного списка студентов , каждый элемент списка содержит ФИО студента , название прежней и название новой группы.

Класс "Студент" я вроде бы создал , а вот как реализовать иерархию и группу представить совокупностью студентов , а факультет набором групп , вот тут и возник вопрос , как это сделать? Может кто подскажет , или у кого есть пример хороший , с наследованием как бы разобрался , а тут "совокупность" и "набор групп".
Кликните здесь для просмотра всего текста
.h файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "stud.h"
 
   Stud::Stud()
    : FIO(), group(0), zachetka(0) ,mark1(0),mark2(0) ,Male_Felame()
{
 
}
 
std::ostream& operator<< (std::ostream& os, const Stud& studd) // вводим , выводим
{
   os <<studd.FIO << studd.group << studd.predmet1  <<studd.mark1  <<studd.predmet2 <<studd.mark2 << studd.Male_Felame << studd.zachetka ;
   return os;
}
 
std::istream& operator>> (std::istream& is, Stud& studd)
{
   is >> studd.FIO >> studd.group >> studd.predmet1 >> studd.predmet2>> studd.zachetka >> studd.Male_Felame;;
   return is;
}
 
//  
Stud::~Stud()
{
 
}
 
Stud::Stud(const Stud& copy)
    :FIO(copy.FIO), group(copy.group),predmet1(copy.predmet1),zachetka(copy.zachetka),predmet2(copy.predmet2)
{
 
}
Stud& Stud::operator=(const Stud& equals)
{
    group=equals.group;
    predmet1=equals.predmet1;
    predmet2=equals.predmet2;
    FIO=equals.FIO;
    zachetka=equals.zachetka;
    mark1=equals.mark1;
    mark2=equals.mark2;
    group=equals.group;
 
    return *this;
}

Кликните здесь для просмотра всего текста
.срр файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef stud_h
#define stud_h
#include <iostream>
#include <string>
using namespace std;
class Stud
{
public:
Stud();
~Stud(); // деструктор
Stud(const Stud& copy);
Stud& operator=(const Stud& equals);
unsigned get_mark1();
unsigned get_mark2();
unsigned change_group();
bool progress();    
   friend std::ostream& operator<< (std::ostream& os, const Stud& studd);
   friend std::istream& operator>> (std::istream& is, Stud& studd);
private:
   string   FIO;
   unsigned group;
   unsigned zachetka;
   unsigned mark1;
   unsigned mark2;
   string   Male_Felame;
   string   predmet1;
   string   predmet2;
};
 
функции...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 21:50     Иерархия классов
Посмотрите здесь:

C++ иерархия классов
иерархия классов C++
C++ иерархия классов
Иерархия классов .... C++
C++ Иерархия классов
иерархия классов C++
Иерархия классов C++
Иерархия классов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
09.01.2013, 22:48     Иерархия классов #2
Цитата Сообщение от kvartira Посмотреть сообщение
как реализовать иерархию и группу представить совокупностью студентов
Хранить в классе "группа" коллекцию студентов. Примерно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <vector>
 
#include "stud.h"
 
 
class Group {
 
public:
   void addStudent(Stud const& student) {
      students.push_back(student);
   }
 
   double averageProgress() const {
       // Считаешь среднюю успеваемость
   }
 
   // Остальные методы...
 
 
private:
   std::vector<Stud> students;   // Студенты в группе
};
Аналогично в классе "факультет" хранить коллекцию групп.
Yandex
Объявления
09.01.2013, 22:48     Иерархия классов
Ответ Создать тему
Опции темы

Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru