Автор |
Сообщение |
Shining ninja Гуру |
|
Значит вот такая задача:
Есть класс, этот класс файл, а файл стек в котором хранятся структуры типа {int i; double d;}
Значит надо реализовать 2 функции:
1.Вставка в стек
2.Удаление из стека
Может кто подскажит , хотя бы как написать класс!!! |
|
|
|
|
Andron_ Гуру Предупреждений : 4
|
|
Shining ninja писал(а): |
Есть класс, этот класс файл, а файл стек |
нипаняяяяятна...
А вообще - берем методу и курим... легче придумать задачу сложно. |
|
|
|
|
AlexRock Гуру |
|
Shining ninja
Если класс - файл, а файл - стек, то класс - стек.
Я, конечно, тупяк в С++, но, МЛМ таково. Тут надо добавить статическую переменную - счётчик объектов твоего класса. При создании объектов они добавляются в конец стека. Вобщем, тут надо организовать создание и удаление объектов по правилам работы стека (первым пришёл - последним вышел). Думаю, что это можно сделать, добавив переменную-член, которая отвечает за место в очереди на удаление (типа, если она равна текущему значению статической переменной-счётчика, то можно удалять этот объект, а если меньше, то нельзя), чтобы нельзя было удалить произвольный объект. |
|
|
|
|
gopher Форумчанин |
|
Shining ninja
Я правильно понял -- бинарный файл, размер структуры известен (ну, судя по приведенному примеру), надо тупо дописывать в конец файла по одной структурке и из конца же удалять. Все это дело оформить в виде класса. В чем сложности-то? И причем тут потоки и наследование?
(Ну, если только потоки в смысле FSTREAM, а наследование -- класс должен наследовать структурке... ) |
|
|
|
|
Shining ninja Гуру |
|
Всем спасибо что откликнулись!
вот смотрите начало вот такое должно быть(наверно):
Мой класс наследуется от fstream
class myfstream::public fstream
{
....
char *name; //название файла
public:
struct xxx
{int i;
double d;
};
....
};
Так вот вопрос в чем как это связать со стеком, че та я не догоняю.. |
|
|
|
|
Andron_ Гуру Предупреждений : 4
|
|
Shining ninja писал(а): |
Так вот вопрос в чем как это связать со стеком, че та я не догоняю |
файл должен вести себя как стек.
Добавляете - пишется в конец элемент.
Читаете - считывается последний, удаляется.
Удаляете - удаляется с конца один элемент. |
|
|
|
|
Shining ninja Гуру |
|
Andron_
Идея ясна, но все таки не понимаю как это написать.... |
|
|
|
|
|
Аватары: Вкл|Выкл ЮзерИнфо: Вкл|Выкл Подписи: Вкл|Выкл
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы
|
|