4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||
1 | ||||||
Как созадть такой экземпляр?07.04.2011, 09:10. Показов 2451. Ответов 29
Метки нет (Все метки)
Пусть есть класс:
0
|
07.04.2011, 09:10 | |
Ответы с готовыми решениями:
29
как вам такой ноут...стоит брать такой? или посоветуете другой? Как сделать такой Одностраничный сайт со скроллом(ну или просто такой скролл) Как делать такой примерно такой сайт 89.14 .489.41 Создать экземпляр одного класса в Main, и передать его в экземпляр другого класса |
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
07.04.2011, 10:56 | 2 | |||||
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
07.04.2011, 15:01 | 3 |
Унаследовать от него класс B, который будет настраивать field.)
И использовать через указатель на А.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
13.04.2011, 12:33 [ТС] | 4 |
А наследник будет иметь методы методы, записывающие данное поле? Не пойдёт.
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
13.04.2011, 14:40 | 5 |
Конструктор тебя точно не устраивает?
Тогда, можно дружественную функцию сделать. А это праздный интерес или реально такая проблема возникла?
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
13.04.2011, 21:38 | 6 |
Наверное, никак. Действительно, ты все конструкторы определяешь сам, а которые не определяешь, те обнуляют все поля.
А конструкторы использовать нельзя, ибо они открыты. Тупик.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
13.04.2011, 22:40 | 7 |
kravam, Нифига они не обнуляют по крайней мере ПОД-ы.
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
||||||
13.04.2011, 22:55 | 8 | |||||
А ну да я перепутал, это такой обнуляет
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
13.04.2011, 23:46 | 10 | |||||
kravam, Я так понимаю ты опять перепутал, да?
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
13.04.2011, 23:53 | 11 |
"Поведение конструктора по умолчанию, добавляемого компилятором, заключается в установке всех данных-членов в ноль"
Брайан Оверленд, "С++ без страха", издательство "Триумф", Москва, 2005.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
14.04.2011, 00:13 | 12 |
kravam, цитировать авторитетов, это, конечно, хорошо, но всё же верить своим глазам как-то привычнее. А они сообщают мозгу следующую информацию:
При использовании конструктора, сгенерированного компилятором, в переменных содержится мусор. По крайней мере MSVC и gcc поступают именно так.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||
14.04.2011, 06:20 [ТС] | 13 | |||||
Без друзей.
Только если можно ограничить число его применний. А в саммом классе никак нельзя прописать создание экземпляра? Что нибудбь типа
Добавлено через 4 минуты Кто сказал,ч то к нему нельзя достучаться? Методы, читающее упомянутое поле, будут обязательно, а не будет методов, пишуших это же поле. Как? Добавлено через 15 секунд Кто сказал,ч то к нему нельзя достучаться? Методы, читающее упомянутое поле, будут обязательно, а не будет методов, пишуших это же поле. Как? Причём, нужна не итовая, например, константа, а именно константный объект.
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
14.04.2011, 07:03 | 14 |
В дебаге обнуляет, да. Но только в дебаге. В релизе никакой лишней работы без спросу не выполняется.
Добавлено через 4 минуты Т.е. это синглтон с неожиданными требованиями? Не совсем понятна природа данных ограничений. Точнее, совсем не понятна. Вот зря не хочешь с наследованием делать. Можно было бы два интерфейс сделать. оДин на чтение, второй для записи. И повсеместно использовать только читающий интерфейс.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
14.04.2011, 07:05 [ТС] | 15 |
Кто сказал, что она лишняя? Отладил ты в дебаге, потом слепил релиз, а из-за того, что релизный конструктор не обнуляет, полезли глюки, но отладочной инфы уже нет и фиг ты найдёшь, откуда глюки. Вывод: дебаг негоден для дебага. Всё относящееся к явно объявленным и явно читаемым данным должно совпадать, лишенй эта работа не будет, иначе это не дебаг. Различаются же эти версии тем, что в релизе нет отладочной инфы, из-за чего дебагеры не могут наблюдать его исполнение. Кстати, я вообще избегаю дефолтных конструкторов. Не доверяю им и именно из-за незнания их поведения в отношении полей объекта. Но если нет указателей, то деструкторы у меня дефолтные.
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
14.04.2011, 07:09 | 16 |
Если программист не стал инициализировать переменную, значит, инициализация не нужна. Соответственно, неявная инициализация - лишняя работа.
Я бы и в дебаге обнуление отключил, если бы знал как.) С другой стороны, RAII эту проблему устраняет, так что пофиг.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
14.04.2011, 07:13 [ТС] | 17 |
Есть два конструткора, оба с параметрами, один я вызову сам и полнсотью исчерпаю его разрешенные вызовы, а второй будет подробно прокомментирован и доступен для неограниченного использования.
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
14.04.2011, 07:18 | 18 |
Т.е. ты хочешь быть уверен, что первый конструктор будет вызван только один раз и до взовов второго конструктора, так?
0
|
silent_1991
|
14.04.2011, 07:57
#19
|
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
14.04.2011, 08:26 [ТС] | 20 |
Я ещё посмотрю, ровно 1, или ровно 16. Но все 16 раз я его вызову сам.
Добавлено через 5 минут Обавзательный объект должен: 1 быть контантным, 2 занимать место в памяти, 3 иметь глобальное имя, 4 быть объявлен только в моём исходнике без возможности повтороной декларации с тем же конструктором. Как это сделать?
0
|
14.04.2011, 08:26 | |
14.04.2011, 08:26 | |
Помогаю со студенческими работами здесь
20
Для чего делать ТАКОЙ объем видеопамяти при ТАКОЙ разрядности? Чего Английский такой нудный, нафиг он нужен такой синтаксис? Как передать экземпляр класса? как создать экземпляр ui->TabWidget? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |