Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Можно ли как-то в дочернем классе получить указатель родителя? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перенос программы в Windows Forms http://www.cyberforum.ru/cpp-beginners/thread1143620.html
Срочно нужно перенести код консольного приложения в с++ Буду очень признателен. Минимальный интерфейс. 1 текстовое поле для результата. 1 выдвижное меню для выбора тональности. #include...
C++ Дана последовательность Последовательность x1, x2, ... образована по закону (См. картинку) (i=1,2, ...). Дано действительное число e>0. Записать в файл h члены последовательности x1, x2, ..., остановившись после первого... http://www.cyberforum.ru/cpp-beginners/thread1143618.html
Вычисление высоты дерева C++
Всем привет! Дерево создано на основе стека, но вот в чем беда компилируется с ошибкой error C4703: используется потенциально неинициализированная локальная переменная-указатель "p" Не пойму как...
C++ Несколько исходников в проекте
Возможно ли создание проекта с несколькими исходными файлами и одним, так сказать "головным"? То есть я не хочу всё писать в один файл, а хочу разбросать код по каждому файлу, для упрощения. Если...
C++ Как привязать цветовые координаты (rgb и hsl) к картинке http://www.cyberforum.ru/cpp-beginners/thread1143608.html
Подскажите пожалуйста!!! Как привязать цветовые координаты (rgb и hsl) к картинке в c++.
C++ Переведите с Pascal на C++ Пожалуйста, переведите на C++ var a:array of longint; n,m,i,j,i1,j1,max:Longint; begin read(n,m); for i:=0 to n-1 do for j:=0 to m-1 do read(a); max:=a; i1:=0; подробнее

Показать сообщение отдельно
DrOffset
7324 / 4424 / 1001
Регистрация: 30.01.2014
Сообщений: 7,260
10.04.2014, 21:40
Цитата Сообщение от newbie666 Посмотреть сообщение
Можешь функции разнести по разным классам, тогда основной класс будет создавать объект того или иного типа в зависимости от выбранного пользователем типа коннекта ..
В этом и соль. Как организовать этот выбор? Через if или switch? И что, при добавлении нового типа источника данных каждый раз лопатить этот код и добавлять? К тому же - этот код библиотечный (представление). А модель мы пишем сами. Как библиотека узнает о твоем типе, если ты его сам написал, не пользуясь наследованием как бесполезной вещью? И как она сможет его распознать, если проверки на этот тип там нет. Ну да, можно передавать вместе с типом еще и функцию (callback), которая разберется как выбрать. Мы все усложняем и усложняем код, а задача-то не решается. И когда мы все это реализуем, преодолев все трудности и игнорируя наследование, то мы обнаружим, сюрприз, что реализовали полиморфизм. Только своими руками.
А про обязательность абстрактных классов никто не говорил. Я говорил про полиморфизм в целом.

Цитата Сообщение от newbie666 Посмотреть сообщение
да никак - самолёты слишком простая задача, которая пишется в рамках одного класса )))
Это еще почему? Разве в мире существует только один самолет? Или ты предлагаешь все характеристики задавать состоянием? Но это дикая избыточность. Кроме того это потенциально может нарушить инвариант. Если заданные значения противоречат друг другу при компоновке объекта значениями (например выбрали материал - дерево, а двигатель - реактивную турбину). Понадобится писать дополнительный код проверки, чтобы не допускать такого. В общем опять сложности на пустом месте. Ведь мы ничего не выигрываем таким подходом.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru