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

Запись класса в файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сборщик мусора http://www.cyberforum.ru/cpp-beginners/thread913018.html
Доброго вам времени суток! У меня вопрос можно ли автоматизировать удаление объектов размещаемых в куче? (Желательно обойтись только STL).
C++ Странные вещи с циклом. Что бы это могло быть? Программа проста, как мычание: вводятся числа и печатается строка, пока не будет введено отрицательное число. Казалось бы, чего тут может быть интересного. Но: если опечататься и вместо 129.5 ввести 129ю5, цикл становится бесконечным, причём строка выводится, а вот ввод числа не запрашивается, хотя такой оператор в цикле есть. #include <iostream> using namespace std; int main() { ... http://www.cyberforum.ru/cpp-beginners/thread912997.html
Вывести массив на экран из бинарного файла C++
2. Компоненты заданного бинарного файла – массивы, состоящие из 4 вещественных чисел каждый. Вывести на экран сумму вторых элементов всех массивов. #include <iostream> #include <fstream> #include <cstdlib> #include <ctime> using namespace std; float randDouble(double a, double b)
Подключение библиотеки Font Stash C++
Есть такая библиотека Font Stash для отрисовки текста в OpenGL. У меня проблема ее подключить так, чтобы работала. Использую код из примера на гитхабе. Что я пробовал: 1. В папку с проектом кладу fontstash.h/.c и stb_truetype.h/.c. Согласно инструкции инклудю fontstash.h. Билдятся fontstash и stb_truetype, и затем при сборке вылетают undefined reference на каждую функцию fontstash. 2. Делал...
C++ Отличие объявления, определения и инициализации http://www.cyberforum.ru/cpp-beginners/thread912953.html
Здравствуйте, товарищи. Читаю тут книжицу по C++, учусь потихоньку. И возник у меня вопрос нерядового характера: в чём фундаментальное отличие объявления, определения и инициализации? В книге всё намешано, ничего не понятненько. Однако усёк, что они говаривают, будто такая строка: int a = 3; не просто присваивание переменной значения, а что-то большее. И как-то это связано с созданием...
C++ разбор задачки. системы счисления перевод числа из произвольной системы в десятичную..сам код программы не мой.. дали для примера чтоб свои части программы делали в этой же проге. но запускаю данную допустим для числа E8.2 14cc и выдает ошибку- некорректный ввод данных.а для D8.2 например, решается. Как понимаю что ктото неправильно значения для них выставил,E считается как 15 или строго больше 14 а не равно 14 как должно быть в... подробнее

Показать сообщение отдельно
henecs
 Аватар для henecs
16 / 16 / 0
Регистрация: 19.05.2013
Сообщений: 135
27.06.2013, 03:23     Запись класса в файл
Доброго времени суток!
Вот появился тупик, есть базовый класс и производные классы
Кликните здесь для просмотра всего текста
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
class Figure{
   protected:
        int x,y;
        TColor color;
        int size;
        int type;
   public:
        Figure(){};
        ~Figure(){};
        virtual void paint()=0;
 
        int getX(){return x;}
        int getY(){return y;}
        int getColor(){return color;}
        int getSize(){return size;}
        int getType(){return type;}
 
        void setX(int nX){x=nX;}
        void setY(int nY){y=nY;}
        void setColor(int nColor){color = nColor;}
        void setSize(int nSize) {size = nSize;}
        void setType(int nType) {type = nType;}
 
};
class FSquare: public Figure
{
        public:
        void paint();
        FSquare(int nx, int ny, int nc, int ns)
        {x=nx; y=ny; color = nc; size = ns;}
};
class FRectangle: public Figure
   {
        int st1,st2;
        public:
        void paint();
        FRectangle(int nx, int ny, int nc, int ns, int nst1, int nst2)
        {x=nx; y=ny; color = nc; size = ns; st1 = nst1; st2 = nst2;}
};
class FRhombus: public Figure{
        public:
        void paint();
        FRhombus(int nx, int ny, int nc, int ns)
        {x=nx; y=ny; color = nc; size = ns;}
};
class FEllipse: public Figure
   {
        int st1,st2;
        public:
        void paint();
        FEllipse(int nx, int ny,int nc,int ns, int nst1, int nst2)
        {x=nx; y=ny; color = nc; size = ns; st1 = nst1; st2 = nst2;}
};

ну и список указателей на базовый класс
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
struct List
   {
      Figure *fi;
      List *next;
   };

заполняю список так :
Кликните здесь для просмотра всего текста
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
38
39
40
41
42
43
 switch (fType)
    {
       case square:
       {  FSquare *f= new FSquare(X,Y,fColor,fSize);
            add_to(T,f);
          break;
       }
       case rectangle:
       {  FRectangle *f = new FRectangle (X,Y,fColor,fSize,fst1,fst2);
            add_to(T,f);
          break;
       }
       case fellipse:
       {
          FEllipse *f = new FEllipse(X,Y,fColor,fSize, fst1, fst2);
            add_to(T,f);
          break;
       }
      default:
      {
        FRhombus *f = new FRhombus(X,Y,fColor,fSize);
         add_to(T,f);
      }
      }
//------------------
void __fastcall  add_to(List *&T, Figure *f)
   {
      List *tmp = new List;
      tmp->fi = f;
      tmp->next = NULL;
      if (!T)
         T=tmp;
      else
         {
            List *l=T;
            while (l->next)
               l=l->next;
            l->next=tmp;
 
         }
      return ;
 
   };

вот собственно вопрос, как бы ЭТО лучше записать в файл?
мне в голову что то умное не лезет...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru