0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
|
1 | |
Вызов динамического метода класса по указателю на объект класса06.05.2017, 14:52. Показов 4987. Ответов 21
Метки нет (Все метки)
0
|
06.05.2017, 14:52 | |
Ответы с готовыми решениями:
21
Вызов метода из другого класса, при этом нельзя создать объект второго класса и метод не статический Вызов метода производного класса через обращение к методу базового класса Что-то я не понимаю.Вызов метода одного класса из другого класса Вызов метода класса в лямбде-функции, вызываемой в другом методе этого же класса |
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
|
06.05.2017, 14:54 | 2 |
а вы знаете определение динамического метода класса?
если знаете - напишите тут плиз.
0
|
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
||||||
06.05.2017, 15:08 [ТС] | 3 | |||||
Допустим:
0
|
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
|
||||||
06.05.2017, 15:13 | 4 | |||||
это явно не определение "динамического метода". такого термина в с++ вообще нет.
если вы под вашим вопросом подразумевали вызов метода у объекта, созданного в динамической памяти (созданного динамически или динамического или как хотите), то:
0
|
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
||||||
06.05.2017, 17:28 [ТС] | 5 | |||||
Я понял о чём шла речь. Да, все объекты я буду создавать динамически. И проблема в том, чтобы вызвать функцию-член через указатель на объект. Такой код не работает:
0
|
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
|
06.05.2017, 17:35 [ТС] | 7 |
Ошибка C3867 "TextDraw::getId": нестандартный синтаксис; используйте "&", чтобы создать указатель на член.
0
|
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
|||||||||||
06.05.2017, 17:42 [ТС] | 9 | ||||||||||
Заголовок .h
.cpp
0
|
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
|
06.05.2017, 17:47 [ТС] | 13 |
Да, я знаю. Пробовал сначала указатель, потом ссылку, ни то, ни то не работает.
0
|
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
||||||
06.05.2017, 17:51 [ТС] | 15 | |||||
Сделал так:
Ошибка C2662 int TextDraw::getId(void): невозможно преобразовать указатель "this" из "const TextDraw" в "TextDraw &"
0
|
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
||||||
06.05.2017, 17:58 [ТС] | 17 | |||||
Поменял в .h аргументы функции, а в .cpp определение.
Использую так:
0
|
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
||||||
06.05.2017, 18:06 [ТС] | 19 | |||||
Так, я пока что просто закоментил строку вывода в поток.
И проблема где-то тут:
Ошибка C2662 int TextDraw::getId(void): невозможно преобразовать указатель "this" из "const TextDraw" в "TextDraw &"
0
|
3437 / 2816 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
|
|
06.05.2017, 18:20 | 20 |
Сообщение было отмечено buridan как решение
Решение
const убери, или getId() сделай const.
1
|
06.05.2017, 18:20 | |
06.05.2017, 18:20 | |
Помогаю со студенческими работами здесь
20
Вызов метода одного класса внутри другого класса Вызов метода класса без создания экземпляра класса. Делегаты или вызов метода класса из другого класса Вызов метода внутреннего класса методом внешнего класса Вызов переопределенного метода класса наследника из базового класса Вызов метода базового класса из класса-потомка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |