![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 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; } }; |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[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 |