|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
||||||
Реализовать движение фигур статическими методами08.03.2015, 20:23. Показов 1956. Ответов 13
Метки нет (Все метки)
Реализовать движение фигур статическими методами
Фигуры типа
0
|
||||||
| 08.03.2015, 20:23 | |
|
Ответы с готовыми решениями:
13
Реализовать движение фигур Реализовать движение фигур Реализовать движение фигур |
|
Модератор
|
|
| 08.03.2015, 21:09 | |
Сообщение было отмечено MayaNash как решение
Решение
Точно ли речь про статические методы класса?
http://www.freepascal.org/docs... fsu32.html Скорее всего речь просто про невиртуальные методы. На задание лабораторной работы №3 можно где-то глянуть?
1
|
|
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 08.03.2015, 21:12 [ТС] | |
|
Хм, точно, речь про невиртуальные методы
Как запутали
0
|
|
|
Модератор
|
||||||
| 08.03.2015, 21:51 | ||||||
|
Возможно, речь про серию лабораторных, где от работы к работе показываются недостатки и достоинства того или иного подхода. При невиртуальных методах выбор типа переменной приходится делать собственным кодом, точнее вызываемый метод полностью зависит от типа переменной (или выражения с приведением типа) во время компиляции.
Добавлено через 10 минут
0
|
||||||
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 08.03.2015, 21:57 [ТС] | |
|
Ага
Это вот было очень неудобноЕще один вопрос, если вам не сложно: можно ли в паскале объявить массив указателей на родительский класс, выделить область памяти для объекта дочернего класса, и запомнить этот адрес в элементе этого массива? Будет ли такое нормально работать? И как это сделать с помощью new?
0
|
|
|
Модератор
|
||||||
| 08.03.2015, 22:12 | ||||||
|
Объявить можно, выделить можно. Работать нормально без виртуальных методов не будет, если не делать специально приседаний.
Как пример,
1
|
||||||
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
||||||
| 08.03.2015, 22:19 [ТС] | ||||||
|
В смысле с виртуальными, извиняюсь
Значит можно написать
Добавлено через 4 минуты Нет, не получается... Говорит что pointer type expected, but got "TPoint"
0
|
||||||
|
Модератор
|
||||||
| 08.03.2015, 22:22 | ||||||
|
Правда с отдельным типом пример выйдет совсем нерасширяемым, уж лучше тогда
Добавлено через 1 минуту a1:=New(PPoint,Init(aX,aY,aColor: Integer)); ... Первым аргументом New() -- указатель, не object. С классами проходит, поскольку class -- уже указатель.
1
|
||||||
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 08.03.2015, 22:26 [ТС] | |
|
А, опять это ограничение с предопределением даже таких типов...
0
|
|
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
||||||
| 08.03.2015, 22:58 [ТС] | ||||||
|
Снова что-то виртуальное не работает
![]() Сделала вот так, функции move, erase и draw виртуальные во всех классах
0
|
||||||
|
Модератор
|
||||||
| 09.03.2015, 00:26 | ||||||
|
Керра,
не успел ваш пример разглядеть как следует (который удалили уже), но из того, что запомнилось, сделать можно было так:
Вся общая логика вынесена в базовый TShape, дочерним классам оставлена только инициализация и отрисовка себя. Причем отрисовка сделана относительно базовой точки x,y, поэтому для перемещения достаточно стереть примитив (отрисовать цветом фона), изменить только x,y и отрисовать примитив. А что самое главное -- можно сделать это в базовом классе.
1
|
||||||
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 09.03.2015, 09:12 [ТС] | |
|
bormant, так и делаю, вероятно проблема в этом: old[choice]^ := a[choice]^;
Вынесла в отдельную тему Не работает функция в копии при копировании объекта Извиняюсь за удаление, попросила удалить на всякий случай, т.к. это заказ, если препод вдруг будет проверять, чтоб не нашел... Задание надо подкорректировать тоже...
0
|
|
|
Модератор
|
||||||
| 09.03.2015, 11:53 | ||||||
|
Возвращаясь к заданию (невиртуальным методам), примеру реализации, скорее всего имелось в виду что-то вроде:
1
|
||||||
|
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
|
|
| 09.03.2015, 11:55 [ТС] | |
|
bormant, да, примерно так и сделала
0
|
|
| 09.03.2015, 11:55 | |
|
Помогаю со студенческими работами здесь
14
Реализовать движение разных фигур по разным траекториям Класс со статическими методами или функции Дан класс, преобразуйте его в статический класс со статическими методами и продемонстрируйте работу с ним Разработать интерфейс, используемый для обработки геометрических фигур, с методами Движение фигур в C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|