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

Как перегружать оператор -> ? - C++

Восстановить пароль Регистрация
 
PG94
2 / 2 / 0
Регистрация: 15.01.2012
Сообщений: 181
11.06.2013, 18:06     Как перегружать оператор -> ? #1
Доброго времени суток.
Есть класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template<class T>
class Auto_ptr {
public:
    Auto_ptr(T* p) : pointer(p) { }
    ~Auto_ptr() { delete []pointer; }
 
    T& operator*() { return *pointer; }
    
    /*T& operator->() { return *pointer; }*/
 
    T* release() { return pointer; }
 
private:
    T* pointer;
};
Как перегрузить оператор ->, чтобы запись ptr->member (ptr - объект класса Auto_ptr, member - член класс T) была
эквивалента pointer->member?
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 18:06     Как перегружать оператор -> ?
Посмотрите здесь:

Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки C++
C++ как правильно перегружать оператор?
C++ Как правильно перегружать потоковый оператор вывода в файл?
C++ Как правильно перегружать унарный минус?
C++ Оператор break как оператор go to next
Для енама нельзя перегружать операторы? C++
какие операторы нельзя перегружать? C++
C++ Как же все-таки лучше всего перегружать операторы?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
11.06.2013, 18:37     Как перегружать оператор -> ? #2
PG94,
C++
1
T* operator -> () { return &*pointer; }
Yandex
Объявления
11.06.2013, 18:37     Как перегружать оператор -> ?
Ответ Создать тему
Опции темы

Текущее время: 15:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru