Natasall
2 / 2 / 0
Регистрация: 05.03.2011
Сообщений: 73
|
||||||
#1 | ||||||
Множественное наследование в языке С++ - C++03.11.2011, 19:34. Просмотров 2296. Ответов 20
Метки нет Все метки)
(
Не могу понять как написать окончание? В B1 показывает одну ошибку(
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
03.11.2011, 19:34 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Множественное наследование в языке С++ (C++):
20
Множественное наследование в языке С++ - C++ Множественное наследование - C++
Множественное наследование - C++ Множественное наследование - C++ Множественное наследование - C++ |
silent_1991
![]() |
|
03.11.2011, 20:11 | #2 |
У вас в main'е вызывается метод show_B2 объекта temp1 класса B2, в котором я метода с таким именем не наблюдаю.
Добавлено через 1 минуту Других ошибок у меня не было, всё скомпилировалось.
0
|
Natasall
2 / 2 / 0
Регистрация: 05.03.2011
Сообщений: 73
|
|
03.11.2011, 20:21 [ТС] | #3 |
0
|
silent_1991
![]() |
|
03.11.2011, 20:33 | #4 |
Natasall, я сначала внимания не обратил... Но я не вижу в вашей программе множественного наследования. Вы задачу наоборот поняли. Т.е. у вас класс D2 должен наследоваться от D1, а D1 одновременно от B1, B2 и B3.
0
|
Natasall
2 / 2 / 0
Регистрация: 05.03.2011
Сообщений: 73
|
|
03.11.2011, 20:39 [ТС] | #5 |
0
|
Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
|
|
04.11.2011, 01:00 | #7 |
0
|
silent_1991
![]() |
|
04.11.2011, 01:07 | #8 |
Razzeeyy, в С++ есть множественное наследование (т.е. наследование от нескольких классов одновременно), в отличие от, например, Java или C#, в которых возможно только множественная реализация интерфейсов, но наследоваться можно только от одного базового класса.
0
|
Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
|
|
04.11.2011, 01:16 | #9 |
А можно пример из кода как это будет выглядеть? я имею ввиду саму суть вроде
class c1: s2: d3; ну вы меня поняли. а то я слышал обратное от людей которые пишут на C# в частности, а оно оказывается вот даже как ![]() З.Ы. у меня друг учит C# (универ, ниче не поделаешь...) плюётся от него)) а интерфейсы имхо вообще убогая и ненужная штука. C++ на данный момент идеален имхо, и позволяет избежать попаболи при работе с указателями, если использовать STL.
0
|
silent_1991
![]() |
||||||
04.11.2011, 01:29 | #10 | |||||
Вы слышали о невозможности множественного наследования в С++ от людей, которые пишут на C#? Однако, довод основательный...
Не знаю, чем он ему так не нравится. И шарп, и джава, и много других языков "вышли", грубо говоря, от плюсов, привнеся то, чего не хватало сами плюсам. Т.е. интерфейсы - убогая и ненужная штука, а то, что то-же самое в плюсах делается абстрактными классами - труЪ? Интерфейсы удобны и полезны тем, что идеологически отделены от абстрактных классов, по сути ими и являясь (с некоторыми ограничениями). Моё мнение - в плюсах они не помешали бы. Шикарно... В джаве вообще нет указателей, в шарпе они ограничены, а плюсы идеальны тем, что позволяют при определённых условиях избежать работы с ними... Логика на высоте! Не по теме: Это при всём том, что плюсы - мой первый и любимый язык, но надо всё-таки рассуждать трезво.
0
|
Razzeeyy
30 / 7 / 2
Регистрация: 01.03.2011
Сообщений: 95
|
|
04.11.2011, 01:39 | #11 |
Спасибо за примерчик
![]() мне классы как-то ближе и проще понимать ![]() вы меня несовсем правильно поняли... просто в некоторых случаях, где в C использовались бы указатели (как вариант си-строки) можно использовать удобный контейнер string из STL, что мне очень облегчало жизнь, ибо сколько я не пытался работать с си строками всё время увязал в указателях и ошибках связанных с ними ![]() а порой указатели незаменимая вешь, в частности для экономии памяти.
0
|
silent_1991
![]() |
|
04.11.2011, 01:45 | #12 |
Просто вам не стоило ставить это в один ряд с пунктами, по которым плюсы обыгрывают другие языки. Здесь выигрыш только по сравнению с чистым Си.
Указатели как таковые память экономить никаким образом не позволяют, эту возможность открывает динамическое выделение памяти. Указатели в данном случае являются лишь вспомогательным средством. А это уже проблемы не интерфейсов и это не повод так нелестно о них отзываться.
0
|
Natasall
2 / 2 / 0
Регистрация: 05.03.2011
Сообщений: 73
|
||||||
04.11.2011, 09:27 [ТС] | #13 | |||||
0
|
Natasall
2 / 2 / 0
Регистрация: 05.03.2011
Сообщений: 73
|
|
04.11.2011, 14:33 [ТС] | #15 |
0
|
04.11.2011, 14:33 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
04.11.2011, 14:33 |
Привет! Вот еще темы с ответами:
15
Множественное наследование - C++ множественное наследование - C++ множественное наследование - C++ Множественное наследование - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |