Контейнер С++

Ответить
Елена09
Сообщения: 1
Зарегистрирован: 23 сен 2009, 17:56

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

[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: :p rint(); // Вызываем метод 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;
}

};[/HTML]
Аватара пользователя
rrrFer
Сообщения: 237
Зарегистрирован: 07 сен 2008, 14:15
Контактная информация:

ICQ 395-546-218
выполню за вознаграждение
Приглашаю на свой блог о программировании: pro-prof.com
Ответить