С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
PG94
2 / 2 / 0
Регистрация: 15.01.2012
Сообщений: 181
#1

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

11.06.2013, 18:06. Просмотров 275. Ответов 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?
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 18:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как перегружать оператор -> ? (C++):

как правильно перегружать оператор? - C++
Есть такой класс. class LampaO { private: int svet; int job; int pro; public: LampaO(int voltage=220); int IfJob();

Как правильно перегружать потоковый оператор вывода в файл? - C++
Нужен только прототип оператора, реализацию сделаю сам. Обязательное требование: должна поддерживаться &quot;цепная&quot; форма:...

Как правильно перегружать операторы? - C++
Добрый день. Более-менее освоил Си, и вроде бы неплохо в нем разбираюсь. Решил взяться за плюсы. Помогите разобраться с перегрузкой...

Как правильно перегружать унарный минус? - C++
Дайте правильный прототип перегрузки унарного минуса.

Как же все-таки лучше всего перегружать операторы? - C++
1. Нужно ли использовать friend там, где это возможно? (или не стоит злоупотреблять где-нибудь?) 2. Стоит ли при перегрузке бинарного...

какие операторы нельзя перегружать? - C++
какие операторы нельзя перегружать?

1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
11.06.2013, 18:37 #2
PG94,
C++
1
T* operator -> () { return &*pointer; }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 18:37
Привет! Вот еще темы с ответами:

Для енама нельзя перегружать операторы? - C++
Для енама нельзя перегружать операторы?

Перегружать операции можно только в пределах какого-то класса? - C++
То есть я не могу просто так взять и написать перегрузку операции вне класса для обычных типов Допустим хочу перегрузить операцию...

Оператор break как оператор go to next - C++
Подскажите, в этом примере break эквивалентна действию оператора go to next?

Как перегрузить оператор<< и оператор>> ? - C++
Доброго времени суток. Застрял на двух вопросах и не как не могу найти инфу которвя мне помогла бы их решить. вопрос первый. В общем...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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