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

Работа с классами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Stack со сменой представления http://www.cyberforum.ru/cpp-beginners/thread950742.html
Здорова господа!!! Есть задачка: "Напишите класс Stack, для которого можно сменить представление на стадии выполнения программы. Подсказка: "Любую проблему можно решить введя еще один уровень косвенности" " Тут не понятно что нам нужно сделать. Рассмотрим просто теоретически, допустим есть у нас класс Stack и нам что нужно от него по создавать производные классы допустим А и допустим B....
C++ Нужен кусок кода Привет всем, даже не знаю сюда ли обратился.....В общем нужен код который выполняется с момента нажатия в браузере например мозиллы CTRL+U. Где мне его взять? Если у кого есть напишите пожалуйста! Думаю я что там не так уж и много написано ). Ну или просто подскажите как выудить исходный код страницы, как это делается? http://www.cyberforum.ru/cpp-beginners/thread950736.html
C++ Работа с com port
подскажите пожалуйста!! написал программку, отправляет запрос на устройство пакет данных (без контрольной суммы), должен придти ответ и записаться в массив!порт открывается, отправляю данные, НЕ КОРРЕКТНО работает readfile() Не пойму в чем ошибка () #include <windows.h> #include <iostream> using namespace std; HANDLE hCom;
Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются C++
Дано некоторое число. Вставить его перед каждым восклицательным знаком. все числовые данные вводятся с клавиатуры,и если можно с пояснениями как работает программа и что какой цикл в ней выполняет,заранее спасибо)
C++ Необходимо написать и отладить две программы в среде Borland C++ 3.1. Первая программа должна сформировать двоичный файл. Вторая – считать данные из э http://www.cyberforum.ru/cpp-beginners/thread950714.html
Создать двоичный файл и записать в него n целых чисел. Из файла сформировать массив, записав в него только ненулевые компоненты, находящиеся после максимального элемента. все числовые данные вводятся с клавиатуры,и если можно с пояснениями как работает программа и что какой цикл в ней выполняет,заранее спасибо)
C++ Необходимо написать и отладить программу в среде Borland C++ 3.1 по заданному варианту с обязательным применением динамических массивов и функций Упорядочить элементы вещественного массива следующим образом: по возрастанию элементы, расположенные в массиве до минимального, по убыванию элементы, расположенные после максимального. Создать функции для сортировки массива и определения номеров максимального и минимального элементов. все числовые данные вводятся с клавиатуры,и если можно с пояснениями как работает программа и что какой цикл... подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.09.2013, 17:54  [ТС]     Работа с классами
Цитата Сообщение от ForEveR Посмотреть сообщение
Что-то я не наблюдаю стека котов.
От что то вроде стека котов:
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
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
#include <vector>
using std::vector;
 
typedef string id;//иднтификаторы
typedef string arg;//аргумент
typedef void (*PF)(arg);//указатель на функцию
 
class Oper
{
    friend class Cat_object;
    friend class Stack;
    id ident;
    PF p_f;
public:
    Oper(id s, PF yk):ident(s),p_f(yk){}
};
 
class Cat_object
{
    friend class Stack;
    vector<Oper> l;
public:
    Cat_object(){}
    void add_oper(Oper o)
    {
        l.push_back(o);
    }
    void remove_oper_id(id ii)
    {
        vector<Oper>::iterator it;
        for(it=l.begin();it!=l.end();++it)
        {
            if((*it).ident==ii){l.erase(it);break;}
        }
    }
    void operator()(id ii,arg a)
    {
        for(int i=0;i<l.size();i++)
        {
            if(l[i].ident==ii)
            {
                l[i].p_f(a);//выполнение
            }
        }
    }
    int size(){return l.size();}
};
 
class Stack : public Cat_object
{
public:
    Stack(){};
    void push(Oper o){add_oper(o);}
    void pop(arg s)
    {
        if(l.size()!=0)
        {
            operator()(l.back().ident,s);
            l.erase(--l.end());
        }
    }
};
 
void print1(arg a=""){cout <<"print1 arg= "<<a<<endl;}
void print2(arg a=""){cout <<"print2 arg= "<<a<<endl;}
void print3(arg a=""){cout <<"print3 arg= "<<a<<endl;}
 
int main()
{
    Oper o1("one",print1);
    Oper o2("two",print2);
    Oper o3("three",print3);
 
    Cat_object c;
    c.add_oper(o1);
    c.add_oper(o2);
    c.add_oper(o3);
    cout <<"c.size()= "<<c.size()<<endl;
    c.remove_oper_id("one");
    cout <<"c.size()= "<<c.size()<<endl;
 
    c("two","hellow world");
    c("three","hellow world gacpada!!!");
 
    Stack s;
    s.push(o1);
    s.push(o2);
    s.push(o3);
    s.pop("iiii");
    s.pop("222");
    s.pop("3333");
 
 
    return 0;
}
От эту задачку не понятно что делать: "Определите шаблон Object на базе класса Cat_object. Используйте Object для реализации стека строк. Напишите небольшую программу для тестирования этого шаблона."

Добавлено через 2 минуты
Как Object сделать и стек строк построить?

Добавлено через 2 минуты
Это я так стек кое как сделал лишь бы что то было .

Добавлено через 2 минуты
Задачка еще продолжение после того как Object мы определим нужно еще от что сделать: "Определите вариант класса Object под именем Class, который гарантирует, что объекты с одинаковыми операциями совместно разделяют список операций. Напишите небольшую программу для тестирования этого шаблона."

ЕЕ тоже нужно сделать.

Добавлено через 7 минут
И еще продолжение: "Определите шаблон Stack, который предоставляет традиционный и безопасный по типу интерфейс к стеку, реализованному шаблоном Object. Сравните этот стек с вариантами стековых классов из предыдущих упражнений. Напишите небольшую программку для тестирования этого шаблона."

В общем без создания Object не обойтись, три упражнения на нем повязаны. Чото не пойму как его делать, наверно первое упражнение на Cat_object не правильно мб сделал ????

Добавлено через 1 час 24 минуты
Что никто не знает что тут делать? Тут эти задачки похоже на какой нить прием ООП.

Добавлено через 37 секунд
Мб хоть кто то просто своими словами объяснить, что хотят что бы мы сделали?
 
Текущее время: 13:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru