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

Перегрузка оператора -> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почти полное бинарное дерево http://www.cyberforum.ru/cpp-beginners/thread1160359.html
Здравствуйте! Подскажите пожалуйста, как сделать так, чтобы функция проходилась к примеру по всей левой части дерева. Я сделал функцию проверки дерева на то, является ли оно почти полным, но при...
C++ В диагоналях, параллельных главной, найти максимальные элементы #include<iostream.h> #include<conio.h> #include<iomanip.h> int main() { int sum,sump,m,i,j,n,k,pr,y; bool x; cout<<"Danna kvadratichnaya matrica. Razmernost' = 2"<<endl; n=2; int**a=new... http://www.cyberforum.ru/cpp-beginners/thread1160350.html
Бинарное дерево, исправить ошибки в коде C++
в общем, есть такой вот код. компилится, ошибок нет. а запускаться - не запускается( подскажите, в чём проблема? #include "stdafx.h" #include "iostream" #include <locale.h> #include <fstream>...
Отладчик VS показывает разные значения C++
При отладке постоянно встречаюсь с такой фигнёй: до входа в какую-либо процедуру отладчик показывает одно значение переменной, а после - другое. Но тогда они отличались на несколько тысячных. Сейчас...
C++ Проверить наличие объекта класса http://www.cyberforum.ru/cpp-beginners/thread1160319.html
Есть класс. Можно ли как-то узнать, есть ли уже созданный объект этого класса? Как?
C++ Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово Определить объединение из двух полей. Первое поле - массив из четырех байт, второе - двойное слово. Ввести случайное число в диапазоне от 20 до 50. Округлить его до ближайшего целого, кратного 6.... подробнее

Показать сообщение отдельно
lulusa
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 11
28.04.2014, 20:46  [ТС]
zss, о, как раз по той теме, что мне сказали написать ("умный" указатель). Однако мне не понятно, как оно работает. Вот например, если я для класса X перегружу оператор+, то при вызове запись A + B равносильна A.operator+ (B).
Здесь же, оператор -> не имеет аргумента. Запись
C++
1
spxObj->GetX(); // spxObj.(operator->) GetX (); // </*какой-то указатель*/>  GetX ();
мне не очень понятна, получается, что в какой-то момент у нас есть несвязное выражение указатель-метод. Как компилятор понимает, что здесь надо перейти по этому самому указателю, а затем использовать оператор доступа (т.е. точку) к методу GetX (); Мы же вроде явно это нигде не прописываем!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru