|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
||||||
Передача адреса класса в функцию12.01.2018, 19:17. Показов 1639. Ответов 25
Метки нет (Все метки)
Здравствуйте
![]() У меня такой вопрос, нигде не могу найти ответ: как сделать так, чтобы функция принимала адрес класса, или какой-то неопределенный тип, чтобы потом уже узнать адрес? Вот допустим код:
0
|
||||||
| 12.01.2018, 19:17 | |
|
Ответы с готовыми решениями:
25
Передача адреса функции в функцию (Класы) Передача адреса суммы двух чисел в функцию
|
|
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
|
|
| 12.01.2018, 19:29 | |
|
Novohudonosor, никак, классов в рантайме не существует.
1
|
|
|
73 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
|
|||||||||||
| 12.01.2018, 19:29 | |||||||||||
или по ссылке
1
|
|||||||||||
|
75 / 26 / 22
Регистрация: 22.06.2013
Сообщений: 127
|
||||||
| 12.01.2018, 19:31 | ||||||
1
|
||||||
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
|||
| 12.01.2018, 19:42 [ТС] | |||
|
Добавлено через 3 минуты С помощью template <typename V> ? Не, не канает. Т.е. канает, только теперь при создании L, компилятор ругается, что отсутствует список аргументов для шаблон класса Добавлено через 4 минуты
0
|
|||
|
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
|
|
| 12.01.2018, 19:48 | |
|
Novohudonosor, ну, вы можете использовать имя класса, чтобы достучаться до него. Вы можете писать шаблоны чтобы принимать типы данных в качестве параметров. Но я полагаю вы просто путаете понятия "класс" и "объект (экземпляр) класса".
0
|
|
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
|
| 12.01.2018, 19:50 [ТС] | |
|
я не путаю. Мне просто нужно, чтобы эта функция могла принимать какой-то новый класс без изменения синтаксиса класса L
0
|
|
|
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
|
|
| 12.01.2018, 20:00 | |
|
Novohudonosor, путаете
0
|
|
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
|
| 12.01.2018, 20:03 [ТС] | |
|
да я там просто код неправильно написал) ничего я не путаю.
Там например в коде на строчке 24 объявляется экземпляр a1 класса V.
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|
| 12.01.2018, 20:08 | |
|
Novohudonosor, если тебе требуется функция, принимающая аргумент типа, который будет известен только в момент вызова, то скорее всего тебе нужен шаблон этой функции. И компилятор самостоятельно наделает тебе машинный код таких же функций для всех типов, которые будешь использовать.
1
|
|
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
|||||||||||
| 12.01.2018, 20:38 [ТС] | |||||||||||
|
Я в общем сделал. Спасибо всем! Я не в том месте писал просто template <typename V>
А теперь у меня возник следующий вопрос, тут я немного код дописал, чтобы понятнее было:
Добавлено через 7 минут там, где написано
0
|
|||||||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||||||
| 12.01.2018, 20:43 | ||||||
T вместо V, потому что лучше не перемешивать названия классов с параметрами шаблона.
1
|
||||||
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
|
| 12.01.2018, 20:44 [ТС] | |
|
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||||||
| 12.01.2018, 20:44 | ||||||
|
Подключение (параметризация) V вместо T происходит непосредственно в строке
0
|
||||||
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
||
| 12.01.2018, 20:45 [ТС] | ||
|
А почему через точку не работает?
Добавлено через 35 секунд
0
|
||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||||||
| 12.01.2018, 20:45 | ||||||
|
Хотя можно указывать подставляемый класс явно,
1
|
||||||
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
|
| 12.01.2018, 20:47 [ТС] | |
|
не понял опять) Что ты сделал этой буквой <V> ?
0
|
|
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||||||||||||||||||||||
| 12.01.2018, 20:49 | |||||||||||||||||||||||
void Add(T) нужно сгенерировать для твоего класса class V, подставив вместо typename T твой класс V.
1
|
|||||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 19
|
||||||
| 12.01.2018, 23:15 [ТС] | ||||||
|
А подскажите пожалуйста, что значит вот такая запись:
0
|
||||||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
|||||||||||
| 13.01.2018, 00:01 | |||||||||||
|
А не
Добавлено через 1 минуту Потому что тот код, который в посте выше, выдаст ошибку компилятора
1
|
|||||||||||
| 13.01.2018, 00:01 | |
|
Помогаю со студенческими работами здесь
20
Передача в функцию метод класса Передача private класса в функцию Передача параметра в функцию класса
Передача параметров в дружественную функцию класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|