22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
||||||||||||||||
1 | ||||||||||||||||
Конструктор по умолчанию и ссылочная переменная06.06.2011, 20:14. Показов 6083. Ответов 20
Метки нет (Все метки)
есть у меня, скажем
ЗЫ без списка инициализации:
0
|
06.06.2011, 20:14 | |
Ответы с готовыми решениями:
20
Ссылочная переменная Будет ли определен компилятором конструктор по умолчанию, если есть конструктор с дефолтным параметром? Создать класс. Написать конструктор по умолчанию, конструктор с параметрами. Перегрузить операции «меньше» и «равно» Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно? |
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
|
|
06.06.2011, 20:26 | 2 |
а чем ты в конструкторе по умолчанию хочешь инициализировать l? this не получится воспользоваться, потому что объект ещё не создан
0
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
|
06.06.2011, 21:31 [ТС] | 3 |
ну неважно чем, вопрос в том как описать конструктор по умолчанию, в котором l либо не инициализируется вообще, либо инициализируется какой-либо константой (как, например указать - NULL ), жаелатьно, конечно, чтобы он оставался не инициализируемым, но на это компилятор почемуто ругается...
0
|
65 / 65 / 5
Регистрация: 11.01.2009
Сообщений: 130
|
|
06.06.2011, 21:55 | 4 |
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
06.06.2011, 22:05 | 5 |
Инициализация ссылки - ОБЯЗАТЕЛЬНА! Поэтому законный вопрос: чем будешь инициализировать?
1
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
|
06.06.2011, 22:09 [ТС] | 6 |
Благодарю) Судя по всему - ничем. И в таком случае, как я понял в классе с ссылочной переменной конструктора по умолчанию быть не может?
0
|
65 / 65 / 5
Регистрация: 11.01.2009
Сообщений: 130
|
|
06.06.2011, 22:32 | 7 |
1
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
06.06.2011, 22:50 | 8 |
Может. Например, конструктор может вызывать некую функцию, которая возвращает ссылку.
0
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
|
06.06.2011, 22:57 [ТС] | 9 |
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
06.06.2011, 22:59 | 10 |
Да. Там в скобочках можно писать выражение, приводимое к типу поля. Более того, можно через запятую писать несколько выражений...
0
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
|
06.06.2011, 23:06 [ТС] | 11 |
ну это понятно...
тогда можно ведь реализовать неопределенную инициализацую: так чтобы функция возвращала ссылку на переменную, которая создается в теле функции. хм.. надо попробовать
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
06.06.2011, 23:09 | 12 |
А вот этого делать НЕ НУЖНО! Локальная переменная помрет, и куда тогда будет показывать ваша ссылка? Более того, вроде компилер такой выверт отслеживает и пишет "фигасе вам"... Но проверьте на всякий случай...
0
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
||||||
06.06.2011, 23:22 [ТС] | 13 | |||||
вот это мне И БЫЛО НУЖНО я знаю, что локальная переменная помирают) по сути такой такой выверт напоминает
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
06.06.2011, 23:27 | 14 |
Таким образом, ваша статическая функция играет роль конструктора. Singlton? что ли реализуете? Обычно в этом паттерне пишут статическую функцию для создания единственного объекта. Насколько помню, реализацию конструктора можно просто не писать.
0
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
|
06.06.2011, 23:36 [ТС] | 15 |
мм не совсем. Просто статическая функция выполняет некоторые действия, идентичным приватным методам класса. А если точнее, то это просто своеобразная ( наверняка далеко не лучшая ) реализация внутренней программной командной строки
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||||||
06.06.2011, 23:47 | 16 | |||||
Посмотрите Синглтон Мейерса. Там как раз поле-ссылка инициализировалась правильным способом.
0
|
06.06.2011, 23:53 | 17 |
-MefistofeL-, почитай про различие между ссылкой и указателем
Сравнение указателей и ссылок. Ссылки и указатели
0
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
|
06.06.2011, 23:56 [ТС] | 18 |
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
07.06.2011, 00:08 | 19 |
0
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
|
07.06.2011, 00:10 [ТС] | 20 |
чето гугл не помогает)) можешь ссылочку подкинуть?)
0
|
07.06.2011, 00:10 | |
07.06.2011, 00:10 | |
Помогаю со студенческими работами здесь
20
Конструктор с параметрами И конструктор по умолчанию. Как? Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор Конструктор класса не видит конструктор по умолчанию другого класса Конструктор по умолчанию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |