Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Map STL - максимальный объем памяти Пишу модуль для программы - что-то вроде переводчика. Есть словарь синонимов (40+мб). Загружаю его в map, но после 740000+ ключа, мой словарь больше не растет. Пробовал тест: вместо своих... https://www.cyberforum.ru/ cpp-beginners/ thread153424.html Полная форма разветвления C++
Оплата работ зависит от типа работы: "а", "b", "c" и вычисляется по неким формулам записаным в коде. Для каждого типа работы есть процент налога 10%, 15%, 20% для "а", "b", "c" соотвецтвенно. Нужно...
C++ Двумерный массив помогите доделать программу. нужно сдавать через 2 дня Написать программу, интегрирующую случайный двумерный массив из 0 и 1 с помощью датчика случайных чисел RANDOM. Размер массива N*M и доля в... https://www.cyberforum.ru/ cpp-beginners/ thread153404.html C++ Оператор delete[] Код: #include <iostream> #include <cstdlib> #include <ctime> #define stop __asm nop int main() { int N,M; N=3; https://www.cyberforum.ru/ cpp-beginners/ thread153400.html
C++ Имитация работы АЗС (ООП)
Задача: написать программу, имитирующая работу АЗС в объектно ориентированном виде. У меня есть программа, написаная на delphi, но она не в ООП. Если надо могу её код написать.
C++ Двумерный Динамический массив Здравствуйте, такая проблема: не могу задать int** и char**...проблема в том что в функцию передются их размеры , но они не константы и компилятор пишет ошибку, и не очень понимаю как выделять... https://www.cyberforum.ru/ cpp-beginners/ thread153382.html
C++ Неориентированный граф!!! Еще раз обращаюсь за помощью к форуму..от этих задач зависит стипендия! Помогите пожалуйста! Задача 1. Для неориентированного графа определить вершины с максимальной степенью. Выбрать одну из них... https://www.cyberforum.ru/ cpp-beginners/ thread153326.html C++ Как определить конверсию к типу?
Заранее извиняюсь за ужасное название темы, но ничего другого придумать не смог. У меня есть свой класс(пусть зовется MY), который реализует математические действия(умножение, деление, извлечение...
C++ D-Link c++ как можно приконнектится к роутеру D-Link с помощью языка с++...весь инет перерыл не нашел ничего путного https://www.cyberforum.ru/ cpp-beginners/ thread153300.html C++ Балансировка бинарных деревьев Вот если кому то потребуется вылаживаю рабочую балансировку бинарных деревьев, если есть советы по улучшению то сс удовольствием выслушаю)) //______________Реализация... https://www.cyberforum.ru/ cpp-beginners/ thread153292.html
Рекурсия: заменить каждую букву строки младшей десятичной цифрой данного числа C++
Всем доброго времени суток=) помогите написать программу, ну или хотя бы объясните задание, а то я его не очень понял =( составить рекурсивную функцию, определяющую в заданной символьной строке...
C++ Графы Решается судьба степеньдии от этих задач, помогите пожалуйста. 1) Для неориентированого графа определить степени вершин. В случае равенства всех степеней , изменитьстепень равенства одной из них.... https://www.cyberforum.ru/ cpp-beginners/ thread153234.html
372 / 286 / 97
Регистрация: 17.12.2009
Сообщений: 567
14.07.2010, 04:12 0

Простой список в виде массива.Как работать с элементами списка-массива через единую функцию - C++ - Ответ 856055

14.07.2010, 04:12. Показов 1237. Ответов 1
Метки (Все метки)

Ответ

Цитата Сообщение от USHЁL Посмотреть сообщение
...Visit(void (*pf)(Item &) ),которая принимает указатель на другую функцию в качестве аргумента. pf-указывает на функцию(не функцию-член)...
судя по листингу это как раз должен быть указатель на функцию-член.
visit(isfull(st)); - встретив такой вызов компилятор не догадается к каким объкетам применяются функции visit и isfull, можно например visit(st,isfull(st));, но тогда visit не нужна. можно еще немножко разьяснений сути проблемы? и интересно это все абстрактно для саморазвития или задание носит прикладной характер?
вот я тут что то сделал ради примера, надеюсь поможет.
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
#include <iostream>
#include <string>
 
using namespace std;
 
class A{
    string str;
public:
    A(string s):str(s){}
    void print()
    {
        cout << str << '\n';
    }
};
class B{
    A a;
public:
    B(string s):a(s){}
    void mutate(A &mutant)
    {
        a=mutant;
    };
    void print()
    {
        a.print();
    }
    template <typename func> void visit(func f,A& object)
    {
        ((*this).*f)(object);
    }
    template <typename func> void visit(func f)
    {
        ((*this).*f)();
    }
};
int main()
{
    B b("str1");
    b.visit(&B::print);
    A a("test string");
    b.visit(&B::mutate,a);
    b.visit(&B::print);
    return 0;
}


Вернуться к обсуждению:
Простой список в виде массива.Как работать с элементами списка-массива через единую функцию C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2010, 04:12
Готовые ответы и решения:

Как работать с элементами двумерного динамического массива через явное разыменования указателя?
Доступ к элементам массива через индексы проходит без труда, а вот с указателями проблема. Как...

Простой вывод массива в методе через конструктор не хочет работать
Без конструктора и дополнительных переменных, а допустим с константой 3, всё работает, но метод...

Указатели( с элементами массива надо работать через указатель, а не индекс)
Заданы осадки по месяцам, зафиксированные метеостанцией в течение прошедшего года. Занесите эти...

Написать функцию, которая переставляет местами первые n элементов массива A с последними n элементами массива В
Помогите пожалуйста с задачкой. Написать функцию, которая переставляет местами первые n...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2010, 04:12

Список: Как добавлять элемент в список, не в начало и не в конец, а между 1 и 2 элементами списка?
Как добавлять элемент в список, не в начало и не в конец, а между 1 и 2 элементами списка? Вот...

Описать функцию, вычисляющую произведение чисел целочисленного массива A(N) . Ввод элементов массива оформить в виде процедуры
Описать функцию, вычисляющую произведение чисел целочисленного массива A(N) . Ввод элементов...

Выделение памяти для массива через функцию и использование этого массива
Я определяю свою структуру, создаю динамический массив, где будут храниться элементы этой...

Нужно написать функцию которая будет увеличевать каждый элеммент массива на 10% (Ввод массива через клаву)
#include &lt;iostream&gt; #define n 7 using namespace std ; int funct(int q) { funct=q*10% ; } int...

Два исходных массива объединить в один, включив элементы второго массива между K и (K+1) элементами первого массива.
Ребят, помогите, пожалуйста, сделать задачи, так как сама в этом ничего не соображаю.. 1. Дан...

Вывести элементы списка в таком же виде как и через print, но через return?
Как вывести элементы списка в таком же виде как и через print,но только через return? def...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru