Указатель на метод
От: creatio Украина  
Дата: 25.04.03 11:59
Оценка:
Народ, плиз подскажите, плиз.

Есть класс



class A {
int  F1() {return 1;}
long F2() {return 1L;}

typedef (* A::Getter_t)();
Getter_t Get;

A() {Get = &A::F1;}
};

void main(void)
{
A a;
(a.*Get)();   //Не компилится!
}


А как правильно?
Why do you call Visual Studio 'your bunny'?...
(c) one american colleague
Re: Указатель на метод
От: Павел Кузнецов  
Дата: 25.04.03 12:19
Оценка:
Здравствуйте, creatio, Вы писали:

c>
c> typedef (* A::Getter_t)();
c>


c> А как правильно?


typedef (A::*Getter_t)();
Posted via RSDN NNTP Server 1.5 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re: Указатель на метод
От: Bell Россия  
Дата: 25.04.03 12:23
Оценка: 4 (1)
Здравствуйте, creatio, Вы писали:


class A {
int  F1() {return 1;}
long F2() {return 1L;}

typedef int (A::*Getter_t)();
public:
Getter_t Get;

A() {Get = &A::F1;}
};

int main()
{
A a;
(a.*(a.Get))();   //Компилится!
return 0;
}
Любите книгу — источник знаний (с) М.Горький
Re[2]: Указатель на метод
От: creatio Украина  
Дата: 25.04.03 12:30
Оценка:
Здравствуйте, Bell, Вы писали:

YESSS!!!! Компилится! Ну с тайпдефом это я не правильно перенёс просто, а вот вызвать так у меня мозги не додумались
Спасибо превеликое!
Why do you call Visual Studio 'your bunny'?...
(c) one american colleague
Re[2]: Указатель на метод
От: Bell Россия  
Дата: 25.04.03 12:31
Оценка: 11 (1)
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Здравствуйте, creatio, Вы писали:


c>
c> typedef (* A::Getter_t)();
c>


c> А как правильно?


ПК>
ПК>typedef (A::*Getter_t)();
ПК>



Эээ
typedef int (A::*Getter_t)();
Любите книгу — источник знаний (с) М.Горький
Re[3]: Указатель на метод
От: Bell Россия  
Дата: 25.04.03 12:41
Оценка:
Здравствуйте, creatio, Вы писали:

C>Спасибо превеликое!


На здоровье
Только вопрос: а зачем?
Любите книгу — источник знаний (с) М.Горький
Re[4]: Указатель на метод
От: creatio Украина  
Дата: 25.04.03 12:55
Оценка:
Здравствуйте, Bell, Вы писали:

Да вот блин... не помогло как оказалось... а выглядело так заманчиво...

Проблема из разряда "по проектированию", у меня в этом плане опыта маловато.
Я её вчера постил ("Задача на проктирование шаблонов"), но народ не откликнулся.
Вот ломаю голову
Why do you call Visual Studio 'your bunny'?...
(c) one american colleague
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.