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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ STL vector,list http://www.cyberforum.ru/cpp-beginners/thread42362.html
У меня 2 вопроса: 1) можете рассказать,как подробно работает reverse_iterator?Создал вектор,хочу его распечатать в обратном порядке следования индексов,а он мне вообще то ошибку выдает,что я вышел за пределы массива,то печатает не в обратном порядке. В литературе как работает подробно reverse_iterator не нашел,везде просто написано,что такой итератор. Смотрел "STL для программистов на C++...
C++ Ключевые слова Написать программу, которая при вводе с клавиатуры буквы выводит ключевое слово языка Си, начинающееся с данной буквы. Например, при введении буквы "b" печатает "break". Результаты поместить на экран и в файл. Просто не знаю как сделать... http://www.cyberforum.ru/cpp-beginners/thread42327.html
C++ Слова в обратном порядке (!не палиндром!)
Задача состоит в следующем: определить символьный массив и ввести его с клавиатуры, затем подсчитать колличество символов 'e' (с этим проблем нет, но из программы уже не выкину) и выести слова в предложении в обратном порядке, типа мама мыла раму - раму мыла мама. Моя программа: #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> void main() {clrscr (); char str;...
Двумерный массив C++
Создать двухмерный массив целых чисел. Испольуя массив указателей. записать в него адресса положительных елементов двухмерного масива. Пожалуста я на экзамене!!
C++ Как возвращать массив структур? http://www.cyberforum.ru/cpp-beginners/thread42183.html
Понимаю тема уже поднималась, но я всёравно не могу понять... Нужно возвратить массив из структур. Знаю что нужно делать через указатели... вот код: struct trgstr { char name; int x;
C++ Нужно вставить в прогу правильную формулу(С++) Привет всем)) Помогите пожалуйста вставить в прогу правильную формулу. Вот сама задача: Должны быть реализованные подпрограммы рисования дуги круга заданной: координатами центра, координатами стартовой точки и величиной угла вот сам код проги: #include <graphics.h> #include <stdio.h> #include <math.h> #include <conio.h> подробнее

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

Добавлено через 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);
  ...
};
Когда ты разрабатываешь класс для реально существующего объекта, ты должен думать об операция, присущих реальному объекту, а не конкретному его представлению в твоей программе.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru