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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Викдон
67 / 67 / 4
Регистрация: 21.11.2008
Сообщений: 226
#1

Указатели на функции-члены - C++

09.05.2009, 19:03. Просмотров 1106. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Вот есть класс
 
 class Base{
  public:
    int GetAge(){return age;}
 
  private:
   int age;
 
 
};
 
int (Base::*p) ();  //Указатель на функцию член класса    Base
 
p=Base::GetAge;
-Возникает ошибка???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2009, 19:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатели на функции-члены (C++):

Указатели на функции-члены - C++
Всем доброго время суток дана программа: указатели на функции-члены, вот код программы: #include <iostream> using namespace std; ...

Указатели на виртуальные функции-члены - C++
//Óêàçàòåëè íà âèðòóàëüíûå ôóíêöèè-÷ëåíû. #include <iostream> using namespace std; class Mammal { public: ...

Указатели на члены класса - C++
Здравствуйте, В коде при вызове функции print() из CL2 вызывается print() из CL1. Подскажите, где грабли. Заранее спасибо. ...

Как на практике используются указатели на члены класса - C++
Вопрос №3. А как на практике используются указатели на члены класса? Они в реальном коде вообще используется? Приведите пример когда они...

класс «Строка» (данные-члены класса – строчка, функции-члены класса – операции) - C++
Помогите пожалйуста с реализацией программы... Реализовать класс «Строка» (данные-члены класса – строчка (указатель на массив, ...

Определить конструкторы, функции-члены установки времени, функции получения часа, минуты и секунд - C++
Работа с классами. не могу сделать практ. задание, очень нужно Задание: Создать класс Time - время с полями: часы (0-23), минуты...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Somebody
2788 / 1602 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
09.05.2009, 19:20 #2
In function `int main(int, char**)':
invalid use of non-static member function `int Base::GetAge()'
cannot convert `int (Base::)()' to `int (Base::*)()' in assignment
Вроде достаточно понятно написано
Код
p = &Base::GetAge;
Викдон
67 / 67 / 4
Регистрация: 21.11.2008
Сообщений: 226
10.05.2009, 02:27  [ТС] #3
а при объявлении указателя на обычную функцию взятие адреса не нужно почему то, а здесь нужно)))
Monte-Cristo
2788 / 1374 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
10.05.2009, 12:52 #4
Цитата Сообщение от Викдон Посмотреть сообщение
а при объявлении указателя на обычную функцию взятие адреса не нужно почему то, а здесь нужно)))
это не обязательное условие... но вот этот код работать будет:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int func(int x)
{
    return 2*x;
}
 
int main()
{
    int (*Fx)(int) = &func;
 
    cout << Fx(5);
 
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2009, 12:52
Привет! Вот еще темы с ответами:

Указатели на массивы. Указатели и функции - C++
Вот задача: Даны два массива : А и B. Необходимо создать третий массив, в котором нужно собрать: -Элементы обоих массивов; -Общие...

Указатели и массивы. Указатели и функции - C++
Никак не разберусь с указателями на функцию. Пишу в Visual Studio. Надо написать функцию Compress() с использованием указателей, которая...

Константные функции-члены ? - C++
Для чего использовать #define ? не имеют права изменять поля класса почему ? class Array { ... inline double operator...

Статические члены и функции - C++
Что-то я не могу понять что я забыли и чяднт что код не компилируется. #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.05.2009, 12:52
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru