21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
1

Определение объекта, который вызвает конструктор.

15.03.2011, 18:33. Показов 1329. Ответов 4
Метки нет (Все метки)

Привет!
Подскажите пожалуйста, как определить, какой из объектов в программе (программа очень большая и писал ее не я) вызывает конструктор класса!?
Класс имеет 2 конструктора.
Один на объект с параметрами, второй на объект без параметров.
Найдено было 2 объекта - оба с параметрами.
Но один раз, вызывается конструктор без параметра, из чего следует, что где-то есть объект без параметра.
Вопрос:
Можно ли в отладчике сделать "шаг назад"?
Про поиск по названию класса знаю, да.

Спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2011, 18:33
Ответы с готовыми решениями:

Зачем нужен конструктор объекта ostringstream (строковый поток который) с двумя аргументами?
От него всё равно толку как от быка молока. А вроде как предназначен для записи чего-то там в...

Напишите конструктор для инициализации объекта класса Time, который может использовать текущее время, возвращаемое функцией time ().
Помогите пожалуйста написать программу на С++. Просто скоро курсовую сдавать, а классы мы еще не...

this(Всегда ли вызывается конструктор при не явной передачи объекта в конструктор)
class Test { int i; public: void test(int i) { this -> i = i; } }; Конструктор...

Конструктор класса, конструктор копирования запускается не тот который нужен
Есть такой конструктор: Neuron::Neuron(int iType_activation_funk) { this->iType_act =...

4
6044 / 2159 / 753
Регистрация: 10.12.2010
Сообщений: 6,007
Записей в блоге: 3
15.03.2011, 19:43 2
Цитата Сообщение от half-node Посмотреть сообщение
Но один раз, вызывается конструктор без параметра, из чего следует, что где-то есть объект без параметра.
Вы сделали неверный вывод. Вполне могло быть так что конструктор без параметров был вызван не на этапе объявления переменной, а в качестве скажем "принудительной процедуры зануления". На своей практике очень часто встречал такой способ очистки объекта. Рекомендую вам привести код, иначе это превратится о в абстрактные рассуждения.
0
-17 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 44
15.03.2011, 21:25 3
именно!
0
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
16.03.2011, 16:29  [ТС] 4
А код чего, собственно, выложить?
Код конструктора? Пожалуйста (хотя я слабо себе представляю, чем он поможет в разрезе моего вопроса )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// конструктор с параметром
CMyIniFile(const char* FileName)
{
   // обработка командной строки на наличие параметров и открытия соответствующего ini файла
   // если параметров нет, открывается файл лежащий в CurrentDir с именем FileName
}
// конструктор без параметра
CMyIniFile()
{
   CMyCurDir m_CurDir;  // определение рабочей дирректории
   m_IniFileName = m_CurDir;
   m_IniFileName += "\\";
   m_IniFileName += "Settings";
   m_IniFileName += ".ini";
}
Вот прям так и написано. Повторюсь, писал не я. )
Весь код нет возможности выложить вовсе, там десятки файлов, по 500-3000 строк.

Соответственно, создается некоторый объект:
C++
1
2
CMyIniFile m_ini("params.ini");
CMyIniFile m_iniTest("paramsTest.ini");
В общем вызывался конструктор без параметров. Тот объект я уже нашел.
Вопрос в том, можно ли как-то узнать в режиме отладки, какой из объектов вызвал конструктор?
0
Evg
Эксперт CАвтор FAQ
21248 / 8263 / 637
Регистрация: 30.03.2009
Сообщений: 22,608
Записей в блоге: 30
16.03.2011, 16:40 5
Цитата Сообщение от half-node Посмотреть сообщение
Подскажите пожалуйста, как определить, какой из объектов в программе (программа очень большая и писал ее не я) вызывает конструктор класса!?
Поставить брейкпоинт в нужном конструкторе, запустить, если реально туда попадём, то в точке остановки посмотреть стек
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2011, 16:40
Помогаю со студенческими работами здесь

Конструктор класса и конструктор объекта - это одно и тоже?
Скажите, пожалуйста, кто знает, конструктор класса и конструктор объекта - это одно и тоже?

Не срабатывает конструктор объекта
Здравствуйте, уважаемые форумчане. Это моё первое сообщение на форуме, поэтому прошу сильно не...

Конструктор и создание объекта в main
Уважаемые форумчане, помогите распутаться в 3-х соснах. Пожалуйста. Для наглядности, имеем код: ...

Конструктор. Создание нового объекта
Всем привет, Пишу программу "Мой сборник CD". Как можно создавать объекты не вводя их количество в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru