![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
sheka |
![]()
Сообщение
#1
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
class b{Если надо сначала произвести какие-то действия над х в конструкторе а, и только потом его передать в конструктор b как надо действовать? Сообщение отредактировано: sheka - 21.07.2011 1:44 |
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну, ошибка у тебя - потому что дефолтного конструктора (без параметров) на самом деле нет. Напиши так:
class b- ошибки не будет... Но это проблемы-то не решает, дефолтный конструктор предка все равно будет вызван ДО того, как начнет выполняться тело конструктора A. К тому же обрати внимание, у тебя тип наследования не указан, это означает, что будет выбрано наследование частное: class a : b равносильно class a : private b, а не class a : public b. Разницу между общим и необщим наследованием знаешь? Теперь по твоему вопросу: в общем случае так не делается. Сначала инициализируется базовый класс, и только потом производятся все нужные действия. Можно поподробнее, задача в чем состоит? Наверняка есть более подходящий способ решения. |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 1:57 |