Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2010, 19:32   #1
ZigaZaga
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 27
По умолчанию объяснить ОДНУ строчку

Г.Саттер. задача 1.11:
шаблону передаёться тип Т. у типа Т ДОЛЖЕН быть метод :
Код:
T *T::Clone() const;
одно из решение, засунуть в деструктор указатель на функцию...
Код:
~C()
{
      T * (T::*test)() const = &T::CLone;
      .....
}
всё понятно кроме "T::*", зачем оно здесь?
ZigaZaga вне форума Ответить с цитированием
Старый 29.03.2010, 19:45   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

это объявление указателя на функцию-член класса T
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 29.03.2010, 20:10   #3
ZigaZaga
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 27
По умолчанию

спасибо.
но мне всё равно не сильно ясно почему именно так.
почему например не так
Код:
T * (* T::test)() const = &T::CLone;
и зачем вообще объявлять, что указатель не просто на функцию, а именно на метод класса Т?
ZigaZaga вне форума Ответить с цитированием
Старый 29.03.2010, 20:37   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Затем, что способ вызова обычной функции отличается от способа вызова метода класса(передаётся скрытым параметром указатель на объект, который вызывает функцию)
netrino вне форума Ответить с цитированием
Старый 29.03.2010, 20:58   #5
ZigaZaga
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 27
По умолчанию

спасибо и вам.
так "навскидочку" где в стандарте искать не подскажете?
ZigaZaga вне форума Ответить с цитированием
Старый 29.03.2010, 21:29   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

2ZigaZaga
а ты изучаешь язык по стандарту чтоль?
страуструп про них писал, например
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 29.03.2010, 21:49   #7
ZigaZaga
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 27
По умолчанию

2 pproger, могли бы вы вспомнить ГДЕ именно он это писал?
ZigaZaga вне форума Ответить с цитированием
Старый 29.03.2010, 21:53   #8
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

оглавлением пользоваться умеешь? открываешь на букву У (уарабей), ищешь слово "Указатели", ниже ищешь словосоченание "на члены". в моей версии книги (язык с++. специальное издание. Б. Страуструп 2008 г) это 474 страница.

а теперь тебе вопрос. ты сам не смог догадаться до такого ОЧЕВИДНОГО решения?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 29.03.2010, 22:00   #9
ZigaZaga
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 27
По умолчанию

у меня в книжке в разделе указатели такого и близко нет. видимо оно где-то дальше в книге...
но тут вопрос в другом.
думаешь я что не посмотрел сначала ??? или вокруг один идиоты чтоли?
что ужасного что я спросил ?

к чему этот "инет"-гонор . чего ты добился!?
ZigaZaga вне форума Ответить с цитированием
Старый 29.03.2010, 22:12   #10
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

ты спросил как пользоваться поиском по книге. я тебе дал РАЗВЕРНУТЫЙ ответ (с указанием страницы). я считаю, что такие вопросы просто неуместны. во всяком случае на этом форуме
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 29.03.2010 в 22:14.
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можете объяснить? Bayram_662 Компоненты Delphi 1 12.01.2010 22:51
Спарсить одну строчку AndreyFreeman Работа с сетью в Delphi 8 25.09.2009 17:45
Нужно передалать одну строчку в коде (С++) Olya90 Помощь студентам 4 29.06.2009 21:57
Как в C++ организовать ввод данных в одну строчку? amdbodia Общие вопросы C/C++ 10 16.05.2009 18:03
Как с поиощью hiew вставить в файл строчку, "раздвинуть" файл и вставить туда строчку? barand Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.06.2008 10:58