С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Невозможно создать экземпляр абстрактного класса. :) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки C/C++ http://www.cyberforum.ru/cpp-beginners/thread428057.html
До строк пока что не дошёл, взгляните если не сложно: Задана строка, содержащая целые числа (максимум 20 чисел). Упорядочить числа в строке по возрастанию. У самого есть предположение, но...
C++ побитовая запись в файл можно ли записать отдельный бит в файл? http://www.cyberforum.ru/cpp-beginners/thread428051.html
Изобразить ромб C++
Задано целое число. Используя средства стандартного ввода-вывода, изобразить на экране ромб, меньшая диагональ которого равна заданному числу и параллельна оси Ох, а большая в 2 раза длиннее меньшей....
попробовала написать программу C++
#include <iostream> using namespace std; int main() { int I, A, x, y =0; cout << "input x = , I= , A= ";
C++ win api точки входа http://www.cyberforum.ru/cpp-beginners/thread428035.html
меня интересуют названия функция получения точки входа файла получения конца файла (feof не подойдёт) и функция изменения точки входа. всё это запущенное приложение должно применить к другому exe...
C++ Помогите с заданием http://s1.ipicture.ru/uploads/20120114/BWTr3yZw.jpg Типа надо прединкремент заменить на постинкремент? подробнее

Показать сообщение отдельно
fridi
-8 / 40 / 1
Регистрация: 21.09.2009
Сообщений: 145
14.01.2012, 17:18
вот подправил вроде все ок должно быть
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <dos.h>
#include <fstream>
using namespace std;
const char NONAME[]="NONAME";
const char STRINGNAME[]="String";
const char INTNAME[]="Int";
const char FLOATNAME[]="Float";
 
// Абстрактный класс - родитель классов, которые можно сохранять в коллекции
 
class object
{
public:
        char *className;// имя класса
        int sz2;
        int classUID;// уникальный идентификатор класса
        object(){classUID=0;};
        virtual ~object(){};
        virtual int GetUID() = 0;// получение УИК
        virtual char* GetName() = 0;// получение имени класса
 
        virtual int readbin(ifstream &ff) = 0;// чтение из бинарного файла
        virtual int writebin(ofstream &ff) = 0;// запись в бинарный файл
 
        virtual bool Load(char *buf) = 0;// загрузка из строки
        virtual bool Upload(char *buf) = 0;// выгрузка в строку
 
        virtual int Compar(object *rhs) = 0;// сравнение с другим объектом
 
        virtual void Union(object *rhs) = 0;// объединение с другим объектом
 
        virtual void Show(ostream &os = cout) = 0;// вывод в поток
        object *next,*prev;
};
class String: public object
{
public:
        char *str;      // Массив для хранения строки
        int sz;         // Размерность массива
        String(){};                                                                               // Конструктор по умолчанию
        String(char *s){};                                                                // Конструктор с параметрами
        String(const String &rhs){};                                              // Конструктор копирования
         ~String(){};                              // Деструктор
        void add(const char *ns);                                               // Добавление строки
        virtual int GetUID() {return 0;};// получение УИК
        virtual char* GetName() {return "foo";};// получение имени класса
 
        virtual int readbin(ifstream &ff) {return 0;};// чтение из бинарного файла
        virtual int writebin(ofstream &ff){return 0;};// запись в бинарный файл
 
        virtual bool Load(char *buf) {return 0;};// загрузка из строки
        virtual bool Upload(char *buf) {return 0;};// выгрузка в строку
 
        virtual int Compar(object *rhs) {return 0;};// сравнение с другим объектом
 
        virtual void Union(object *rhs) {};// объединение с другим объектом
 
        virtual void Show(ostream &os = cout) {};// вывод в поток                                                            // Преобразование в строку
        //friend ostream& operator<< (ostream& os,const String& r);     // Потоковый ввод/вывод
    //friend istream& operator>> (istream& is,String& r);
 
};
 
class Int: public object
{
        protected:
        Int *next,*prev;// указатели на следующий и предыдущий элементы списка
public:
        int date;       //поле данных
 
        Int();                                                                          // Конструктор по умолчанию
        Int(int a);                                                             // Конструктор с параметрами
        Int(const Int &rhs);                                            // Конструктор копирования
        virtual ~Int();                         // Деструктор
        virtual void change(int ns);                                    // Изменение строки
        virtual void print();                                   // Вывод
        virtual int readbin(ifstream &ifs);                                             // Чтение и запиcь в двоичный файл
        virtual int write(ofstream &ofs);
        //friend ostream& operator<< (ostream& os,const String& r);     // Потоковый ввод/вывод
        //friend istream& operator>> (istream& is,String& r);
 
};
 
int main()
{
 
  String s("qwerty");
 
 
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.