Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 13:01   #1
Helen09
Пользователь
 
Регистрация: 07.12.2009
Сообщений: 11
По умолчанию Контейнеры С++

Подскажите, необходимо на основе уже написаной программы создать контейнер очередь (двусвязный список) для класса студент. Там должна быть выгрузка данных из файла и запись в файл, вставка информации в произвольную позицию, и получение указателя к произвольной позиции в списке.
Теоретически я понимаю как это должно выглядеть, а вот как на С++ записать не знаю. Подскажите хоть что-нибудь, пожалуйста.

Код HTML:
#include <conio.h>
#include <iostream.h>
 
// Базовый класс student
class student
{
   private:
   char *name;          // Имя студента
   int kurs, id;        // Номер курса и иднетицикационный номер
 
   public:
   student()            // Конструктор по умолчанию (без параметров)
   {
      name = new char[7];        // Выделяем участок памяти под имя (7 символов типа char)
      strcpy(name, "Ivanov");    // Имя по умолчанию - Ivanov
      kurs = 1;
      id = 001;
   }
 
   student(char *nm, int kr, int ident)  // Конструктор с параметрами
   {
      name = new char[strlen(nm+1)];
      strcpy(name, nm);
      kurs = kr;
      id = ident;
   }
 
   ~student()                            // Деструктор
   {
      delete [] name;                    // Освобождаем память
   }
 
   void print()        // Метод печатает информацию на экране
   {
      cout << endl << "Name: " << name << endl;
      cout << "Kypc: " << kurs << endl;
      cout << "ID  : " << id << endl << "-------------" << endl;
   }
};
 
 
 
// Производный класс student_1
class student_1 : public student
{
   private:
   char* tema;             // Поле под название темы
 
   public:
   student_1() : student()     // Конструктор по умолчанию (также вызывается конструктор по умолчанию student() базового класса
   {
      tema = new char[22];     // Выделяем память под название темы
      strcpy(tema, "Class and polimorfizm");  // Название темы по умолчанию
   };
 
   // Конструктор с параметрами
   student_1(char* nm, int kr, int ident, char* tem) : student(nm, kr, ident)
   {
      tema = new char[strlen(tem+1)];
      strcpy(tema, tem);
   }
 
   ~student_1()             // Деструктор
   {
      delete [] tema;       // Освобождаем память
   }
 
   void print()           // Переопределяем метод вывода информации на экран
   {
      cout << endl << "TeMa: " << tema;
      student::print();   // Вызываем метод print() базового класса student
   }
int main(int argc, char* argv[])
{
   int kr, ident;
   string nm, tema;
 
   cout << "BBeguTe uM9 :";
   cin >> nm;
   cout << "BBeguTe HoMep Kypca :";
   cin >> kr;
   cout << "BBeguTe ID :";
   cin >> ident;
   cout << "BBeguTe TeMy gunJIoMa :";
   cin >> tema;
 
   student_1 a;             // Создаём объект класса student_1 по умолчанию
   student_1 b(nm.begin(), kr, ident, tema.begin());  // Создаём объект класса student_1 с параметрами
 
   a.print();
   b.print();               // Вызываем методы вывода на экран
 
 
        getch();
        return 0;
}
 
};
Helen09 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++] контейнеры классы и работа с текстом ArniLand Общие вопросы C/C++ 6 08.03.2010 02:25
Совместимы ли вообще TImage и стандартные контейнеры? Гром Общие вопросы C/C++ 1 03.10.2009 22:42
Контейнеры Crucian Общие вопросы C/C++ 1 22.09.2007 22:02