Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 1
Регистрация: 06.01.2018
Сообщений: 16

Наследование в C++ / окна

13.01.2018, 17:09. Показов 1524. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано задание для знакомства с наследованием.

Создать класс окно и его наследников: стековое, слоеное, всплывающее
(нарисовать, поместить информацию).

Что такое наследование я знаю. Насколько я понял, нужно создать родительский класс Окно с какими-то параметрами (ширина, высота, цвет, заголовок и т.д.), и три класса наследника - "стековое окно", "слоеное окно", "всплывающее окно").
Потом нужно как-то показать их взаимодействие. Помогите, пожалуйста!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2018, 17:09
Ответы с готовыми решениями:

Заменить наследование классов на наследование интерфейсов
#include <iostream> #include <assert.h> using namespace std; int people_on_base = 100; int vehicles_on_base = 100; double...

Наследование шаблоном шаблона (наследование конструктора)
Всем привет! Думаю, что эта тема хоть и касается общих вопросов программирования, но будет уместна в данном разделе т.к. у различных...

Наследование интерфейса и наследование реализации
Начал читать книгу GoF и сразу же в предисловии попал в тупик. Чем отличается наследование интерфейса от наследования реализации? Что такое...

10
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
13.01.2018, 18:03
Цитата Сообщение от Anatoliy2017 Посмотреть сообщение
Что такое наследование я знаю..,.. Помогите, пожалуйста!
тогда в чём суть просьбы
0
0 / 0 / 1
Регистрация: 06.01.2018
Сообщений: 16
13.01.2018, 18:15  [ТС]
Я не могу понять как "стековое окно", "слоеное окно", "всплывающее окно" связаны между собой.

Окно -> "стековое окно" -> "слоеное окно" -> "всплывающее окно" ?

Но самая большая проблема заключается в том, что я не знаю как потом показать их работу и взаимодействие, потому что знаю только как работать с консольными приложениями. В формах вообще 0.
0
12 / 12 / 6
Регистрация: 15.01.2015
Сообщений: 36
13.01.2018, 19:02
Вы уверены , что вас просят написать именно консольное приложение.Наверное все-таки от вас просят графически это продемонстрировать??
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
13.01.2018, 19:05
denistymchuk, не обязательно. Задание может быть на знание наследования, а не название всяких графических технологий
3
0 / 0 / 1
Регистрация: 06.01.2018
Сообщений: 16
13.01.2018, 21:53  [ТС]
Да, приложение должно быть консольным, потому что мы только начали изучать ООП и C++.

Добавлено через 3 минуты
Кликните здесь для просмотра всего текста

Просто другим достались более понятные задания, например:
Создать класс-родитель спортсмен и класс-наследник команда спортсменов
(вывести отдельно Ф.И.О., вид спорта, возраст, вес; изменить информацию).

А у меня беда с этими "окнами"...


Добавлено через 2 часа 2 минуты
Может ли кто-нибудь сказать какая разница между "стековое окно" и "слоеное/многослойное окно"?
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.01.2018, 22:02
Цитата Сообщение от Anatoliy2017 Посмотреть сообщение
Может ли кто-нибудь сказать какая разница между "стековое окно" и "слоеное/многослойное окно"?
вполне возможно под стековым подразумевается модальное окно. а слоеное это скорее всего что то типа окна с набором вкладок, хотя вполне возможно окно имеющее дочерние окна (содержащиеся в нем). Всплывающее это что то из серии того окна которое содержит выпадающий список комбобокса.
При этом тот кто дал такое задание вообще нихрена не смыслит в архитектуре оконных фреймверков. Все это не разные типы окон а разные способы их группировки.
А вы вообще уверены что окна здеся имеются в виду те которые живут на экране а не в стене?
0
0 / 0 / 1
Регистрация: 06.01.2018
Сообщений: 16
13.01.2018, 22:30  [ТС]
http://ahdl-altera.narod.ru/ru/technics_c.pdf

Конфигурация стековых окон предполагает, что любая
выполняемая вами с окном операция (запись в него текста,
изменение цвета, уничтожение его и т.д.) производится, когда окно
является полностью видимым пользователю. Полная видимость
означает, что ни одна часть окна не накрыта другим окном и что
окно не скрыто функцией hide_window (о которой будет сказано
ниже). Когда установлено стековое окно, оконное программное
обеспечение строит буфер для хранения прежнего содержимого
видеопамяти, которую будет занимать окно. Видеопамять сохраняется
в буфере, а окно записывается в видеопамять. При выполнении любых
операций, модифицирующих окно, все изменения выполняются
непосредственно в видеопамяти, а программное обеспечение
предполагает, что окно является полностью видимым. Когда окно
уничтожается, содержимое хранящего его буфера записывается
обратно в видеопамять, восстанавливая таким образом видеообраз
памяти к состоянию до образования окна.
Слоеные окна обладают гораздо большей гибкостью, чем
стековые, к тому же они предоставляют пользователю гораздо больше
возможностей по созданию различных оконных интерфейсов. Когда
слоеное окно создано, любая оконная операция может быть
адресована ему, независимо от его видимости или близости к другим
окнам. В дополнение к обычному набору оконных операций слоеные
окна могут перемещаться в двумерной плоскости экрана и могут
выдвигаться на передний или убираться на задний планы в слоях
созданных окон.
Огромное спасибо за найденную информацию pu4koff с форума программерсфорум ру!

Добавлено через 2 минуты
Нет, здесь речь идет точно о тех окнах, "которые живут на экране"

Как это все реализовать в консольном приложении
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.01.2018, 23:42
Цитата Сообщение от Anatoliy2017 Посмотреть сообщение
Как это все реализовать в консольном приложении
Ну вообще то есть и текстовая видеопамять. там не пикселы хранятся а номер символа цвет и фон символа. У виндовой консоли должна быть эмуляция видеопамяти хардверной консоли. Это в MSDN надо покопать как получить доступ к этой памяти.

Добавлено через 41 минуту
Цитата Сообщение от Anatoliy2017 Посмотреть сообщение
Нет, здесь речь идет точно о тех окнах, "которые живут на экране"
Скорее о тех которые почили в бозе в прошлом тысячелетии. начинал программированием заниматься в 1993-ем но даже тогда сталкивался только с тем что здесь названо слоеными окнами. Другие похоже давно не делают.
1
0 / 0 / 1
Регистрация: 06.01.2018
Сообщений: 16
14.01.2018, 00:06  [ТС]
Я думаю, что мне просто придется свести всю эту программу к примитивизму.

Стековые окна - проверка на то, открыто ли это окно одно или есть другие открытые окна. Если открыто только стековое окно - можно выполнять с ним операции, если нет (то есть есть другие окна) - нельзя ничего с ним делать.

Многослойные окна - можно создавать неограниченное количество и выполнять операции с ними без проверки, описанной выше.

Всплывающие окна - можно выводить поверх стековых и многослойных. "Окна-подсказки", то есть просто выводят какую-нибудь информацию, которую нельзя изменить. Что-то вроде предупреждений.

Имеет право на жизнь?

Добавлено через 4 минуты
Потому что работа с памятью и формами явно не состыковывается с тем, что "самое тяжелое", что мы пока прошли в рамках курса это перегрузка операторов и создание массивов.
0
 Аватар для Fulcrum_013
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
14.01.2018, 00:15
Цитата Сообщение от Anatoliy2017 Посмотреть сообщение
Стековые окна - проверка на то, открыто ли это окно одно или есть другие открытые окна. Если открыто только стековое окно - можно выполнять с ним операции, если нет (то есть есть другие окна) - нельзя ничего с ним делать.
Немного не так. Стековые должны закрываться строго в порядке обратном открытию. Это как раз к модальным окнам лепится.
Цитата Сообщение от Anatoliy2017 Посмотреть сообщение
Многослойные окна - можно создавать неограниченное количество и выполнять операции с ними без проверки, описанной выше.
Очевидно что они будут только очень ограниченно совместимы со стековыми. Как вариант - стековые используются только как модальные, а многослойка как что то типа MDI окон.
Цитата Сообщение от Anatoliy2017 Посмотреть сообщение
Что-то вроде предупреждений.
Ну как бы не совсем ясно чем они при этом отличаются от стековых или многослойных. Пр этом их в принципе можно реализовать и как одни и как другие. Они все равно живут только поверх какого то родительского окна. Кстати в той же винде к всплывающим окнам относят хинты, выпадающие списки комбо-боксов и менюхи. При этом в винде они явно на основе слоеных реализованы как и все остальное.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.01.2018, 00:15
Помогаю со студенческими работами здесь

Наследование С# , наследование полей
В классе есть приватное ПОЛЕ . Мне нужно использовать его в классе потомке . Можно это не сделать не делая поле публичным .

Наследование от IEnumerator<T>: как предотвратить наследование IEnumerator
Создаю перечислитель и наследую от IEnumerator&lt;T&gt;, а он, зараза, наследует IEnumerator (который без типа). И в итоге он требует от меня...

TChromium и onBeforePopup: как блокировать новые окна, но разрешать окна с сообщениями?
доброго времени суток я блокирую новые окна procedure MainThread.mainchromeBeforePopup(Sender: TObject; const browser:...

Удержание окна с текущими введенными значениями после диалогового окна (с предупреждением)
Здравствуйте, есть маленькая задачка. Форма добавления ТС, открывается с основной формы. Нужно заполнить все поля и нажать кнопку, если...

Предотвратить сворачивание окна по нажатию кнопки Windows «Свернуть все окна»
Здравствуйте, пишу что то вроде гаджета на c# wpf, и возник вопрос: можно ли как нибудь предотвратить сворачивание окна при нажатии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru