146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
||||||
1 | ||||||
Наследование08.03.2009, 23:34. Показов 5162. Ответов 16
Метки нет (Все метки)
Например, есть класс cA и его наследник – класс cB. В определении класса cB написали функцию func, а в её сигнатуре объект родительского класса. При использовании это функции компилятор пропускает, если в качестве параметра стоит объект класса cB.
0
|
08.03.2009, 23:34 | |
Ответы с готовыми решениями:
16
Заменить наследование классов на наследование интерфейсов Наследование Наследование Наследование |
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
|
|
08.03.2009, 23:47 | 2 |
Это очень даже нормально, так как всякий объект дочернего класса cB одновременно является полноценным объектом родительского класса cА.
Вот в обратную сторону - в общем случае нельзя.
0
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|
10.03.2009, 00:48 [ТС] | 3 |
Спасибо!
Я знаю что, конструкторы не наследуются, но если в классе есть конструктор, то надо ли его писать в классе-наследнике, если в нём нет указателей (если в обычных условия конструктор не нужен)?
0
|
Любитель давать советы
342 / 135 / 14
Регистрация: 12.01.2009
Сообщений: 511
|
|
10.03.2009, 10:17 | 4 |
Если базовый класс имеет конструктор по умолчанию, то наследник может обходиться без конструктора. Но если у базового класса конструктора по умолчанию нет, то потребуется создать хотя бы пустой конструктор в наследнике, потому что в нем нужно указать параметры, передаваемые в конструктор базового класса
0
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|||||||||||
11.03.2009, 01:14 [ТС] | 5 | ||||||||||
Я немного не о том.
Например, есть класс и наследник:
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
11.03.2009, 01:23 | 6 |
нет... конструктор вроде бы не нужен...
p.s: в конструкторе ты выделяешь память.. но она у тебя не освобождается.. создай деструктор и освобождай ее там.
0
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|
11.03.2009, 15:47 [ТС] | 7 |
А можно немного больше определённости - нужн точно или нет?
А этот пример только демонстрациооный, деструкторы в нём не обязательны
0
|
Maniac
|
|||||||||||
11.03.2009, 16:20 | 8 | ||||||||||
C++ неявно создает некоторые функции, тоесть
0
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|
11.03.2009, 23:55 [ТС] | 9 |
Это немного не то.
Стандартный конструктор копирования работает плохо, если в классе есть данные-члены указатели. Меня интересует вопрос, нужен ли конструктор копирования в классе-наследнике, чтобы нормально скопировать указатели класса.
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
11.03.2009, 23:58 | 10 |
нет..конструктор и методы класса наследуются!
0
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|
12.03.2009, 00:16 [ТС] | 12 |
Кто тебе сказал, что конструкторы наследуются?
У меня возникает вопрос в том, вызывает ли класс-наследник конструктор, чтобы скопировать те данные-члены, которые относятся к тому классу. Добавлено через 4 минуты 58 секунд Не заметил новое сообщение. Это и понятно. Нужен ли в классе-наследнике конструктор, чтобы скопировать данные-члены первого класса?
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
12.03.2009, 00:26 | 13 |
я просто учил ооп... если в производном класе не определен конструктор, то будет использоваться конструктор из базового класса (соответствующий запросу, если их несколько).
0
|
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
|
|
12.03.2009, 00:37 [ТС] | 14 |
Это же не есть наследование. Это просто вызов конструктора для построения соответсвующих данных.
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
12.03.2009, 00:44 | 15 |
я тебя не пойму ... это не конструктор поумолчанию.. если ты в Классе А опишешь какой-то уникальный конструктор, а в классе В не упомянешь конструктор вообще, то тогда в классе В будет вызываться конструктор класса А
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
12.03.2009, 01:17 | 17 |
ISergey, скорее наоборот, недопили
0
|
12.03.2009, 01:17 | |
12.03.2009, 01:17 | |
Помогаю со студенческими работами здесь
17
Наследование Наследование Наследование наследование Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |