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

Указатели на функцию, операции .* и ->* - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Покер - даны 5 целых чисел. Определить в них комбинации повторяющихся элементов http://www.cyberforum.ru/cpp-beginners/thread432180.html
есть массив. надо определить в нем комбинации повторяющихся элементов: for(int i=0; i<5;i++) { k=count(tmpmass,tmpmass+5,tmpmass); } if(k==2) cout<<"One Pair"<<endl; if(k==3) cout<<"Three"<<endl;
C++ Найти сумму парных элементов массива Создать массив из 10 целых чисел. Найти сумму парных элементов массива (что делятся на 2). Помогите пожалуйста((( http://www.cyberforum.ru/cpp-beginners/thread432167.html
C++ Народ нужно обьяснить значение
1)void new_str(char s1, char s2, char s3, int N)-что делает и что обозначает эта строка???И что в этой строке обозначает new_str???? 2)void print_str(char s)-что делает и что обозначает эта строка??? 3)void f1(int matr, int M)-что такое сдесь М и что оно обозначает???? Помогите пож)))Буду очень благодарен))
C++ Функция разбиения строки в части [C++]
Всем доброго времени суток. Нужно написать условие, который разделит (через точки) строку line на lname, fname, mname Например: Enter lname, fname, mname of poet, separated by points: Alexander.Sergeyevich.Pushkin
C++ Дано натуральное число N. Вычислить http://www.cyberforum.ru/cpp-beginners/thread432151.html
Дано натуральное число N. Вычислить S=1/3^2+1/5^2+1/7^2+...+1/(2n+1)^2
C++ Дано натуральное число N. Вычеслить Дано натуральное число N. Вычеслить: 2/1+3/2+4/3+...+n+1/n подробнее

Показать сообщение отдельно
NoMasters
Псевдослучайный
1740 / 1083 / 70
Регистрация: 13.09.2011
Сообщений: 3,100
20.01.2012, 23:25     Указатели на функцию, операции .* и ->*
И как оно у вас собиралось?
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
#include <iostream>
#include <string>
using namespace std;
 
class A
{
    string str;
public:
    A(string s)
    {
        str = s;
    }
    void f()
    {
        cout << str << endl;
    }
    
    void Call(void(A::*pf)())   //принимает указатель на метод
    {
        (*this.*pf)();            //вызов полученного метода для текущего объекта
    }
};
    
void ExtCall(A* pa, void(A::*pf)())
//тоже самое, только функция не является методом самого класса,
//получает указатель на объект в параметре
{
    (pa->*pf)();
}
int main()
{
    A a("hello");
    A b("world");
    void (A::*pf)()=&A::f; //берем указатель на метод
    a.Call(pf);
    ExtCall(&b,pf);
}
 
Текущее время: 17:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru