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

Наследование и абстрактный класс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Прата С. С++. Посчитать количество вызовов функции http://www.cyberforum.ru/cpp-beginners/thread724245.html
Всем привет! Закончил раздел про встроенные функции, шаблоны, полиморфизм и ссылочные переменные. Там в конце такое задание: Напиши функцию. Один аргумент - адрес строки, выводит строку один раз....
C++ Вывести первый элемент в списке #include <iostream> #include <conio.h> #include <string> using namespace std; template<class T> class List { public: List() { http://www.cyberforum.ru/cpp-beginners/thread724230.html
Рекурсия (среднее арифметическое, наименьший элемент, сумма) C++
На вход с клавиатуры подается последовательность чисел a1, a2, ..., которая заканчивается повторным введением предыдущего числа (второй раз оно в последовательность не входит). Количество чисел ничем...
C++ входной поток данных
Из входного потока данных нужно подсчитать количество повторов в тексте DK и 22
C++ переделать из С в с++ http://www.cyberforum.ru/cpp-beginners/thread724208.html
Помогите переделать код в с++ из С #include <cstdio> #include <cstring> #include <cctype> #define SRC "simple" #define DST "sample" #define LEN 6 int main()
C++ Отобразить на экране числа от 10 до 0 Только начал осваивать c++ и в упражнениях нужно сделать такую задачу: Напишите программу с помощью цикла while которая будет отображать на экране числа от 10 до 0, кажется простая задача но чёто вот... подробнее

Показать сообщение отдельно
SirAsgard
1 / 1 / 0
Регистрация: 20.04.2012
Сообщений: 46

Наследование и абстрактный класс - C++

08.12.2012, 23:18. Просмотров 323. Ответов 2
Метки (Все метки)

Вот сделал список с такими условиями
вставка элемента из головы (хвоста) в заданном месте;
вывода списка на экран;
поиск элемента списка;
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
template<class T> class List
{
public:
        List()
        {
              head=NULL;
              tail=NULL;
        };        
        ~List()
        {
                while(head)
                {
                    tail=head->next;
                    delete head;
                    head=tail;
                }
        }
 
        void push_back(T val)
        {
                Node* Temp;
                Temp=new Node;
                Temp->elem=val;
                if(head==0)
                {
                        head=Temp;
                        tail=Temp;
                        return;
                }
                tail->next=Temp;
                tail=Temp;
        }
 
        void print()
        {
                if (head==0)
                {
                        cout << "List is empty!";
                }
                for(Node* ptr=head; ptr!=0; ptr=ptr->next)
                {
                        cout<<ptr->elem<<" ";
                }
                cout<<"\n";
        }
 
       
 void push_front(T val)
        {
                Node* Temp;
                Temp=new Node;
                Temp->elem=val;
                Temp->next=head;
                head=Temp;
        }
 
 
        void find(T val)
        {
                if(head==0)
                {
                        cout <<  "List is empty!\n";
                }
                for(Node* ptr=head; ptr!=0; ptr=ptr->next)
                {
                        if(ptr->elem=val)
                                cout<<"Element "<< val <<" is found\n";
                        return;
                }
                cout<<"Element "<< val <<" is not found\n";
        }
        
        void insert(T val)
        {
                if(head==0)
                {
                        push_front(val);
                        return;
                }
                Node* Temp=new Node;
                Temp->elem=val;
                Node* founded=head;
                for(founded; founded!=0; founded=founded->next)
                {
                        if(founded->elem<val)
                                break;
                }
                if(founded==0)
                {
                        push_front(val);
                        return;
                }
                Temp->next=founded->next;
                founded->next=Temp;
        }
private:
        struct Node
        {
                Node()
                {
                 next=0;
                 elem=0;
                }
                Node* next;
                T elem;
        };
 
        Node* head;
        Node* tail;
};
 
 
int main()
{
        List<int> Lst;
        Lst.push_front(5);
        Lst.push_back(10);
        Lst.push_back(15);
        Lst.push_front(1);
        Lst.push_back(25);
        Lst.push_back(4);
        Lst.print();
        Lst.find(15);
        Lst.print();
        getch();
        return 0;
}
Теперь нужно спроектировать на основе этого списка абстрактный класс и создать наследника. Помогите пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru