Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2012, 20:53   #11
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну вообще то, предок наследует все поля.
просто предок не может отбросить поля чтоб стать родителем.

потому
Код:
A a= *new B();
не сработает(исключение, наличие преобразования).
Код:
A *a=new B();
возможно.
A->B
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.10.2012, 20:56   #12
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
По умолчанию

Цитата:
ну вообще то, предок наследует все поля.
мммм...private поля не наследуется . ведь в реальности к ним нет доступа.
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 21.10.2012, 21:27   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от vedro-compota Посмотреть сообщение
мммм...private поля не наследуется . ведь в реальности к ним нет доступа.
а методы(от родителя) к воздуху обращаются?)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.10.2012, 21:35   #14
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
По умолчанию

нет - методы родителя обращаются к битам и байтам, а не к воздуху) а вот потомок может с успехом получить(/обладать) в два раза меньше методов чем было у родителя)))
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 21.10.2012, 21:38   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так они наследуются и имеются в объекте предка или же нет?)
доступ тут не причем.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.10.2012, 21:55   #16
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
По умолчанию

стоп.
я невнимательно прочитал =
Цитата:
ну вообще то, предок наследует все поля.
я так "прочитал", что "потомок наследует все поля".....
и потому отвечаю - что потомок наследует не всё - так как не имеет доступа к приватным полям родителя.
(то есть отвечаю непонятно кому - за что извиняюсь))

а если же прочитать по-человечески, то я вообще не врубаюсь в совокупный смысл двух предложений =
Цитата:
ну вообще то, предок наследует все поля.
просто предок не может отбросить поля чтоб стать родителем.
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 21.10.2012, 22:24   #17
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

для прямого присваивания обьектов, по иерархии.
Код:
class A
{
    int i;
};

class B:public A
{
    int j;
};
A=B обьекту B нужно будет отбросить свое новое поле.
потому и невозможно присваивание прямое, ни вверх, ни вниз.*

через указатели/ссылки только вверх можно автоматически, ибо тогда мы работаем с предком словно он родитель.
вспоминаем istream к примеру, и его потомков ifstream, istringstream.
обычно из их членов нужны нам лишь конструкторы.
в остальном работаем словно с istream.

* - исключение ручные преобразования.

PS: просто стоит понять причину невозможности одного подхода.
а не возмущатся.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.10.2012, 23:21   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но надо же какой-то класс сделать "агрегатором" )
А вот по-моему в паттернах проектирования какой-то метод уже разработали. Чет похожее я уже где-то в универе припоминаю, когда эти паттерны изучали.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.10.2012, 01:47   #19
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
По умолчанию

Пепел Феникса , что есть "вверх", а что есть "вниз" ?)
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 22.10.2012, 01:54   #20
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вверх к родителю.
вниз к предкам.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Определение "Родителя" в иерархичском списке Radzhab Microsoft Office Excel 7 18.09.2012 18:09
Одинаковый хендл у "родителя" и "ребенка" Alex Cones Общие вопросы Delphi 7 12.05.2010 10:49
Помогите пожайлуста найти, кто человек "вконтакте", зная его "мэйл" Аксюнька1990 Помощь студентам 1 12.06.2009 06:16
Delphi. Создание нового класса, его "предков". Krechet Помощь студентам 0 26.04.2009 15:52