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

методы класса - C++

Войти
Регистрация
Восстановить пароль
 
Hoover
0 / 0 / 0
Регистрация: 28.06.2012
Сообщений: 3
28.03.2013, 16:45     методы класса #1
Доброго времени суток!
Заранее извиняюсь за тупку.
Чем отличаются вызовы
C++ (Qt)
1
2
c.printMe();
c.printMe;
Первый понятно, реализовал метод, выводит на экран объект. А второй что за зверь?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eocron
Кактус
 Аватар для eocron
66 / 66 / 6
Регистрация: 23.05.2012
Сообщений: 343
28.03.2013, 17:02     методы класса #2
Обращение к переменной класса под названием printMe

C++
1
2
3
4
5
6
7
8
9
10
class foo
{
  ...
  public:
       ...
       int printMe;
       ...
       void printMe() { ... };  
 
}
Сам по себе вызов c.printMe; не несет никакого смысла.
Это как создать переменную int a;
и просто написать a;
Hoover
0 / 0 / 0
Регистрация: 28.06.2012
Сообщений: 3
28.03.2013, 17:07  [ТС]     методы класса #3
А может это быть перегруженная функция? Странно было бы задавать переменную с таким именем.
eocron
Кактус
 Аватар для eocron
66 / 66 / 6
Регистрация: 23.05.2012
Сообщений: 343
28.03.2013, 17:12     методы класса #4
Нет, не может быть. ВСЕ функции имеют четкий вид - возвращаемое значение, имя, скобки с аргументами, тело.

Да, такое название странно, не спорю, оно не описывает возможных ситуаций, но представьте такую ситуацию:

C++
1
2
3
int min;//переменная которая хранит позицию минимального элемента в массиве объекта
 
int min(){ ... }//метод который ищет эту позицию
В данном случае программисту не требуется придумывать имена, чтобы не было коллизий. Это просто очень удобно.
Hoover
0 / 0 / 0
Регистрация: 28.06.2012
Сообщений: 3
28.03.2013, 17:21  [ТС]     методы класса #5
Да, звучит разумно. Понадеюсь, что это ошибка в задании. Так как там в основном вызывается функция printMe(), и только два раза переменная, причем там, где по смыслу должна быть именно функция.
rizr
1 / 1 / 0
Регистрация: 13.01.2013
Сообщений: 71
28.03.2013, 18:03     методы класса #6
может перегруженный оператор
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2013, 18:06     методы класса
Еще ссылки по теме:

C++ Методы и конструкторы класса
Массив указателей на методы класса C++
C++ Полиморфизм и шаблонные методы класса
C++ Методы класса внутри определения класса
C++ Inline методы класса

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

Или воспользуйтесь поиском по форуму:
eocron
Кактус
 Аватар для eocron
66 / 66 / 6
Регистрация: 23.05.2012
Сообщений: 343
28.03.2013, 18:06     методы класса #7
Это не может перегруженным оператором, по одной простой причине - слово printMe не является оператором в принципе. Третьего не дано. Это переменная.
Yandex
Объявления
28.03.2013, 18:06     методы класса
Ответ Создать тему
Опции темы

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