![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 830
|
![]()
Вот решил сделать тот тип программы которого нет в учебнике, и выдаёт ошибку, решил попробовать сделать что просил компилятор, выдало другую ошибку, решил эту ошибку и всё зароботало, но можно ли по другому решить проблему? (Надеюсь не убью Вас запутанностью программы?
![]() Вот метод: Код:
Решил эту проблему так: добавил к методу: ": base()", другая ошибка: "Отсутствует аргумент, соответствующий требуемому формальному параметру "w" из "Class1.Class1(double)". Добавил метод Class1 в Class1 с кодом: Код:
Код:
Последний раз редактировалось Мaкс; 28.06.2018 в 10:56. Причина: Поправочка... Надо так: public Class1(){} а не так: public Class1(double w) {width = w;} |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 830
|
![]()
Скорей всего кто то спросит: зачем такой запутанный код?? Это что бы закрепить тему многоуровневую иерахию классов.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Потому что ВЫ так захотели:
Код:
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 830
|
![]() |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Нет это вы захотели. ВЫ же Class2 унаследовали от Class1 и в Class1 написали конструктор с параметром? ВЫ. Значит читайте предыдущий пост.
П.С. Если вы не еще не поняли или не прочитали в учебнике, то писать base() не обязательно... Последний раз редактировалось p51x; 28.06.2018 в 11:09. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 830
|
![]()
Это я понял! Вот та самая ошибка:
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 830
|
![]()
если не использовать base()
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Посмотрите внимательно - ОШИБКА ОДНА И ТА ЖЕ.
Еще раз повторяю: Писать base() не обязательно. Компилятор достаточно умный, чтобы вызывать конструкторы базовых классов самостоятельно. Синтаксис с base придуман для программистов, чтобы они могли передать параметры и выбрать какой из конструкторов вызвать. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 830
|
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Так в процитированном все есть...
1. Добавить конструктор в базовый без параметров 2. Использовать base(что_то) для вызова имеющегося |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка в программе | Nefroz | Работа с сетью в Delphi | 4 | 08.05.2014 18:32 |
ошибка в программе | charger | Visual C++ | 1 | 14.06.2011 00:20 |
Ошибка в программе C | Renat21 | Общие вопросы C/C++ | 6 | 02.04.2011 18:00 |
С++ Ошибка в программе | EwwwA | Общие вопросы C/C++ | 5 | 05.01.2009 23:12 |