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

C++ Списки и наследование.Зарание спасибо! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ STL vector,list http://www.cyberforum.ru/cpp-beginners/thread42362.html
У меня 2 вопроса: 1) можете рассказать,как подробно работает reverse_iterator?Создал вектор,хочу его распечатать в обратном порядке следования индексов,а он мне вообще то ошибку выдает,что я вышел...
C++ Уменьшение значений элементов матрицы(перегрузка операции "--") Задача Перегрузите операцию "--" позволяющую уменьшать переменную типа матрица на 1. В результате каждылемент матрицы должен уменьшаться на 1. Хм, можете ли написать мне код готовой программы. http://www.cyberforum.ru/cpp-beginners/thread42334.html
Ключевые слова C++
Написать программу, которая при вводе с клавиатуры буквы выводит ключевое слово языка Си, начинающееся с данной буквы. Например, при введении буквы "b" печатает "break". Результаты поместить на экран...
C++ Слова в обратном порядке (!не палиндром!)
Задача состоит в следующем: определить символьный массив и ввести его с клавиатуры, затем подсчитать колличество символов 'e' (с этим проблем нет, но из программы уже не выкину) и выести слова в...
C++ Двумерный массив http://www.cyberforum.ru/cpp-beginners/thread42187.html
Создать двухмерный массив целых чисел. Испольуя массив указателей. записать в него адресса положительных елементов двухмерного масива. Пожалуста я на экзамене!!
C++ Как возвращать массив структур? Понимаю тема уже поднималась, но я всёравно не могу понять... Нужно возвратить массив из структур. Знаю что нужно делать через указатели... вот код: struct trgstr { char name; int x; подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
2302 / 1672 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
30.06.2009, 08:08
Студент ни как не может быть базовым классом для класса группа. Это, извини, идиотизм. Потому что Группа не есть Студент. Студенты являются частью Группы, т.е. Группа включает в себя Студентов, а это уже отношения агрегирования.
Если тебе уж очень нужно использовать наследования при разработке класса Группа, то ее можно наследовать от класса Список, потому что Группа является списком студентов.

Добавлено через 22 минуты 5 секунд
И еще
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Gruppa:public Student
{
   ...
public:
    Gruppa();
    Gruppa(const Gruppa&);
    ~Gruppa();
    void AddTail(char*,char*,char*,char*);
    void PrintG();
    void DelAll();
    void Del(int);
};
По интерфейсу класса Gruppa (то что в public части) никак нельзя подумать, что она является группой студентов (что будут означать слова "Добавить в хвост" для группы студентов? Картина маслом, сидят две тетки в деканате и одна другой говорит "К нам студент Иванов перевелся, добавь его в хвост, пожалуйста").
Логичнее было бы:
C++
1
2
3
4
5
6
7
8
9
10
11
class Gruppa:public Student
{
public:
  ...
 
  void Add(const Student& student);
  Student& StudentAt(int pos);
  int NumberOfStudents();
  void RemoveStudent(int pos);
  ...
};
Когда ты разрабатываешь класс для реально существующего объекта, ты должен думать об операция, присущих реальному объекту, а не конкретному его представлению в твоей программе.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru