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

Простая задачка на классы - C++

Восстановить пароль Регистрация
 
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
08.09.2013, 21:52     Простая задачка на классы #1
Здорова господа!!!

Есть простая задачка: "Разработайте базовый класс Persistent с операциями save() и no_save(), которые определяют, записываются ли объекты в долговременное хранилище деструктором. Кроме указанных операций какие еще полезные операции мог бы предоставлять класс Persistent? Протестируйте класс Persistent с парой классов по вашему выбору. Является ли Persistent узловым классом, конкретным типом или абстрактным типом? Почему?"

Мб кто то рабочий вариант - прототип может написать???? Вообще не понятно что это за операции. Это что нужно систему объектного ввода/вывода как бы разработать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2013, 21:52     Простая задачка на классы
Посмотрите здесь:

C++ Простая задачка
простая задачка C++
C++ Простая задачка по массивам.
Простая задачка с массивами C++
C++ Простая задачка на C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Erik945
29 / 1 / 1
Регистрация: 30.08.2013
Сообщений: 36
08.09.2013, 22:11     Простая задачка на классы #2
Долговременное хранилище - видимо в файл. Соответственно нужны методы для записи/чтения
По поводу - save() и no_save() видимо имеется в ввиду что есть приватная булевая переменная, которая определяет необходимость сохранения. А методы - просто интерфейс. Например enable_save - определяет нужно-ли сохранять. Ее и проверяешь в деструкторе

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Persistent::save()
    {
    enable_save=true;
    }
 
void Persistent::no_save()
    {
    enable_save=false;
    }
 
 Persistent::~Persistent()
    {
    if(enable_save)
           {
           //сохранить
           }
    else
          {
          //не сохранять
          }
    }
zer0mail
2189 / 1872 / 187
Регистрация: 03.07.2012
Сообщений: 6,665
Записей в блоге: 1
08.09.2013, 22:25     Простая задачка на классы #3
Простые задачки мог бы и сам сделать
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
09.09.2013, 13:28  [ТС]     Простая задачка на классы #4
Erik945, Молодец!!! Я б и не додумался. Возможно ты прав, буду делать так как ты написал.

Добавлено через 7 минут
Долговременное хранилище у нас будет поток вывода пусть. От примерно так нужно сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
 
class Persistent
{
    bool enable_save;
public:
    Persistent():enable_save(true){}
    virtual void save(){enable_save=true;}
    virtual void no_save(){enable_save=false;}
    bool if_save(){return enable_save;}
};
 
class A : public Persistent
{
    string str;
public:
    A(string s):Persistent(),str(s){}
    ~A()
    {
        if(if_save())cout <<"delaem zapic6 v fail str= "<<str<<endl;
        else cout <<"not save"<<endl;
    }
};
 
int main()
{
    A b("Hellow world!!!");
 
    A c("Hellow world gacpada!!!");
    c.no_save();
 
    return 0;
}
Yandex
Объявления
09.09.2013, 13:28     Простая задачка на классы
Ответ Создать тему
Опции темы

Текущее время: 15:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru