Наследование, С++ |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наследование, С++ |
sheka |
21.07.2011 1:43
Сообщение
#1
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
class b{Если надо сначала произвести какие-то действия над х в конструкторе а, и только потом его передать в конструктор b как надо действовать? Сообщение отредактировано: sheka - 21.07.2011 1:44 |
IUnknown |
21.07.2011 8:52
Сообщение
#2
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Ну, ошибка у тебя - потому что дефолтного конструктора (без параметров) на самом деле нет. Напиши так:
class b- ошибки не будет... Но это проблемы-то не решает, дефолтный конструктор предка все равно будет вызван ДО того, как начнет выполняться тело конструктора A. К тому же обрати внимание, у тебя тип наследования не указан, это означает, что будет выбрано наследование частное: class a : b равносильно class a : private b, а не class a : public b. Разницу между общим и необщим наследованием знаешь? Теперь по твоему вопросу: в общем случае так не делается. Сначала инициализируется базовый класс, и только потом производятся все нужные действия. Можно поподробнее, задача в чем состоит? Наверняка есть более подходящий способ решения. |
sheka |
21.07.2011 10:31
Сообщение
#3
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Есть математическое описание объекта. Нужно сделать его графическое представление. Объект реализуется в своей системе координат. Чтобы сделать поправку при старте хотел обработать входящий параметр. Т.к. фактически мне нужен один метод Draw наследника public не писал.
Разница между общим и необщим наследованием в том, что при общем поля public предка будут видны в наследнике, а иначе нет. Обойти эту проблему просто: сделать поле с типом "предка", но "наследника" оставить без этого "предка". А паскаль то позволяет! |
IUnknown |
21.07.2011 11:01
Сообщение
#4
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата Разница между общим и необщим наследованием в том, что при общем поля public предка будут видны в наследнике, а иначе нет. Это только часть разницы, причем меньшая. Гораздо интереснее - что1. Защищенное наследование: все public и protected члены/методы предка в потомке становятся protected-членами/методами. class A 2. Частное наследование: все public и protected члены/методы предка в потомке становятся private-членами/методами, поэтому class A Цитата Есть математическое описание объекта. Нужно сделать его графическое представление. Объект реализуется в своей системе координат. Чтобы сделать поправку при старте хотел обработать входящий параметр. class Base Угу? Цитата А паскаль то позволяет! Опять похоливарить захотелось? Не надо... |
sheka |
21.07.2011 12:49
Сообщение
#5
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
Чуть-чуть угу.
|
Текстовая версия | 25.05.2024 16:32 |