|
4 / 4 / 3
Регистрация: 26.05.2014
Сообщений: 354
|
|
Какие методы родительского класса не наследуются?29.05.2014, 08:24. Показов 10123. Ответов 19
Метки нет (Все метки)
1. конструктор копирования
2. конструктор по умолчанию 3. перегруженная операция присваивания 4. деструктор 5. конструктор с параметрами 6. виртуальные
0
|
|
| 29.05.2014, 08:24 | |
|
Ответы с готовыми решениями:
19
Какие методы класса fstream отвечают за определение количества строк в файле и длины строки? |
|
БНТУ ФИТР
215 / 155 / 42
Регистрация: 26.12.2012
Сообщений: 382
|
|
| 29.05.2014, 10:00 | |
|
lev_, конструкторы не наследуются.
0
|
|
|
|
|
| 29.05.2014, 11:00 | |
|
И деструктор, стало быть, тоже.
0
|
|
|
4 / 4 / 3
Регистрация: 26.05.2014
Сообщений: 354
|
|
| 29.05.2014, 11:31 [ТС] | |
|
спасибо
0
|
|
|
43 / 43 / 21
Регистрация: 02.06.2013
Сообщений: 181
|
|
| 29.05.2014, 12:17 | |
|
Ничего из приведенного не наследуется, кроме виртуальных функций, виртуальность на наследование методов в плане наследования или не наследования того или иного метода базового класса производным влияния не оказывает. Правда в c++ 11 вроде уже можно наследовать конструкторы
0
|
|
|
|
|
| 29.05.2014, 18:23 | |
|
Denis123456789, а перегруженный operator= разве не наследуется?
0
|
|
|
43 / 43 / 21
Регистрация: 02.06.2013
Сообщений: 181
|
||||||
| 29.05.2014, 20:52 | ||||||
|
BumerangSP, нет не наследуется, потому что обычно оператор присваивания имеет в качестве параметра константную ссылку на объект того же класса, в котором этот оператор перегружается, поэтому сигнатура даже в родственных классах будет разнится. Например следующий код не компилируется (хотя здесь оператор присваивания принимает параметр отличный от объекта того же класса)
0
|
||||||
|
|
||||||
| 29.05.2014, 21:23 | ||||||
|
Denis123456789, я как бы сам всегда утверждал, что, мол, не наследуется, т.к. его действия сходны с конструированием объекта.
Но вот данный код что подразумевает? Может, я позабыл чего?
0
|
||||||
|
43 / 43 / 21
Регистрация: 02.06.2013
Сообщений: 181
|
|
| 29.05.2014, 21:34 | |
|
BumerangSP, компилятор снабжает класс оператором присваивания по умолчанию, при отсутствии определения в классе оператора присваивания (также как конструктором и деструктором по умолчанию при отсутствия их определения) . Оператор присваивания по умолчанию присваивает членам объекта слева , значения соответствующих членов объекта справа. Если члены класса не являются указателями на области динамической памяти, то оператора присваивания по умолчанию достаточно.
0
|
|
|
138 / 130 / 59
Регистрация: 13.12.2012
Сообщений: 293
|
||||||
| 29.05.2014, 21:45 | ||||||
|
BumerangSP, А здесь же вроде встроенный оператор вызывается, не?
Добавлено через 11 минут Denis123456789, operator= все-таки наследуется, но в вашем примере встроенный b::operator=(const b&) перекрывает базовый a::operator=(int), поэтому этот пример не компилируется. Можно сделать так
0
|
||||||
|
|
|
| 29.05.2014, 21:46 | |
|
Denis123456789, ничего не понял, конкретней можно?) Эти общие сведения я из книжек помню. Но сейчас для конкретного примера специального туда не полез.
ViktorKozlov, ну, я присваиваю объекту класса B объект того же класса. Надпись выходит "A::op=". Определю свой operator= в классе B - будет выведено то, что напишу в его теле. Почему? UPD: Вот, кажется, все.
0
|
|
|
138 / 130 / 59
Регистрация: 13.12.2012
Сообщений: 293
|
|
| 29.05.2014, 21:57 | |
|
BumerangSP, встроенные операторы присваивания, конструкторы по умолчанию и копирования обладают таким свойством, что вызывают соответствующие функции базового класса. В вашем случае, встроенный operator= вызывает operator= базового класса, который определен. Если же в производном классе определить свой operator=, то он не будет по умолчанию вызывать базовую версию (но можно это сделать явно)
1
|
|
|
|
|
| 29.05.2014, 22:09 | |
|
ViktorKozlov, да с конструкторами-то все ясно. Что-то я всегда обделял вниманием operator=...Хотя логично, по сути. Копирование ведь происходит прямым копированием данных соотв. переменных. Притом для каждого подобъекта копируются свои.
0
|
|
|
138 / 130 / 59
Регистрация: 13.12.2012
Сообщений: 293
|
|
| 29.05.2014, 22:24 | |
|
BumerangSP, да так и есть. Иначе кому нужен такой встроенный оператор, если он будет напрямую все копировать? Если некоторые поля или базовый класс имеют определенный оператор=, то почему бы им не воспользоваться? В принципе, вполне логично
0
|
|
|
8 / 8 / 3
Регистрация: 12.12.2013
Сообщений: 30
|
|
| 20.10.2016, 23:03 | |
|
Не наследуются:
Конструкторы и деструкторы, Перегруженные операторы, Дружественные(friend) функции
0
|
|
|
Вездепух
13203 / 6838 / 1822
Регистрация: 18.10.2014
Сообщений: 17,298
|
||
| 21.10.2016, 00:23 | ||
|
- Все перегруженные операторы наследуются (С чего бы это вдруг им не наследоваться?) - Упоминание friend-функций тут совсем не в кассу. О чем речь вообще? - Деструкторы действительно не наследуются. - С конструкторами ситуация сложнее. Сами по себе они не наследуются, но начиная С++14 конструкторы (с рядом исключений) можно наследовать явно, путем применения using-декларации.
0
|
||
| 21.10.2016, 00:25 | |
|
0
|
|
|
Вездепух
13203 / 6838 / 1822
Регистрация: 18.10.2014
Сообщений: 17,298
|
|||
| 21.10.2016, 00:34 | |||
|
Не по теме:
0
|
|||
| 21.10.2016, 00:41 | |
|
0
|
|
| 21.10.2016, 00:50 | |
|
0
|
|
| 21.10.2016, 00:50 | |
|
Помогаю со студенческими работами здесь
20
Как вызвать виртуальную функцию из дочернего класса, если она определена и вызывается в конструкторе РОДИТЕЛЬСКОГО класса? Вызов метода родительского класса Доступ к переменной родительского класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|