0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 22
|
||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||
как сделать чтобы объект производного класса сам себя добавлял в список или массив указателей базового класса?15.01.2017, 15:26. Показов 1510. Ответов 4
Метки нет (Все метки)
я хотел так, но программа просто падает
Добавлено через 14 минут добавил весь код
0
|
15.01.2017, 15:26 | |
Ответы с готовыми решениями:
4
Как сложить объект базового класса с объектом производного(наследуемого класса) Почему объект производного класса не видит префиксный оператор из базового класса? Указатель на объект базового класса и адрес объекта производного класса Создать массив указателей базового класса и присвоить ему адреса каждого из екземпляров класса |
Жарю без масла
867 / 749 / 225
Регистрация: 13.01.2012
Сообщений: 1,702
|
|
15.01.2017, 15:31 | 2 |
для того, чтобы использовать указатель(разыменовывать, получать доступ к данным), он должен указывать на что-то валидное.
вопрос: на что указывает ваш указатель? ответ: пальцем в ж...небо
0
|
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 22
|
||||||
15.01.2017, 16:00 [ТС] | 3 | |||||
дело в том, что когда я хочу сделать static Student *b = new Student; компилятор говорит что нельзя создать абстрактный класс, типа функция add не имеет перегрузки в данном классе...
вот те ошибки
0
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
|
15.01.2017, 16:09 | 4 |
Правильно говорит компилятор. Только не перегрузки (overload), а переопределения (override). Всё потому, что в базовом классе функция объявлена как
void add() , а в производном - как void add(Base**) . А должно быть одинаково.
0
|
899 / 476 / 93
Регистрация: 10.06.2014
Сообщений: 2,698
|
|
15.01.2017, 16:17 | 5 |
Создать абстрактный класс можно, его экземпляры нельзя создавать.
Если в классе есть хотя бы один абстрактный метод, этот класс является абстрактным. Будь возможность создать объект абстрактного класса, значит была бы и возможность вызова метода который не определен. И что по вашему в таком случае должно было бы произойти? obj.notImplementedMethod() .... ???
0
|
15.01.2017, 16:17 | |
15.01.2017, 16:17 | |
Помогаю со студенческими работами здесь
5
Вызов метода производного класса через обращение к методу базового класса Создание указателя типа базового класса на экземпляр производного класса Вызвать конструктор производного класса без конструктора базового класса Определить обработчик исключений на преобразование указателя базового класса на указатель производного класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |