|
6 / 6 / 0
Регистрация: 20.04.2009
Сообщений: 29
|
|
Работа с виртуальными функциями13.01.2010, 22:11. Показов 4795. Ответов 44
Метки нет (Все метки)
Доброго времени суток, форумчани! Помогите мне, пожалуйста, с задачей, у меня просто нет этой темы, а сдать нужно обязательно
![]() Напишите, пожалуйста, хотя бы классы в общих чертах, как использовать виртуальную функцию? Вот моё задание: Создать абстрактный базовый класс с виртуальной функцией - площадь поверхности. Создать производные классы: параллелепипед, тетраэдр, шар со своими функциями площади поверхности. Для проверки определить массив ссылок на абстрактный класс, которым присваиваются адреса различных объектов. Площадь поверхности параллелепипеда: S=6*x*y. Площадь поверхности шара: S=4*pi*r*r. Площадь поверхности тетраэдра: S=a*a*sqrt(3). Заранее очень-очень-…-очень благодарю!!!
0
|
|
| 13.01.2010, 22:11 | |
|
Ответы с готовыми решениями:
44
Проблема с виртуальными функциями Задачка с наследованием и виртуальными функциями Классы с виртуальными функциями. Class Student |
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||||||
| 13.01.2010, 23:12 | ||||||
|
Раз у тебя репутация есть, значит напившись программу сам, здесь приведен только пример
показывающий как пользоваться поздним связыванием, полиморфизмом и виртуальными функциями. Надеюсь,я вам помог.
1
|
||||||
|
|
|
| 13.01.2010, 23:35 | |
|
Genius Ignat, если твой пример отобразить на поставленную задачу, то в производных классах при описании функции f слово virtual уже не нужно. Чисто с концептуальной точки зрения с точки зрения площади поверхности функция площади не может быть переопределена даже если мы от класса, например "шар", создадим производные классы "синий шар" и "зелёный шар"
Это так, чисто ремарка
1
|
|
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
| 14.01.2010, 10:48 | |
|
Evg, я не программлю как в учебниках учат и я этому рад, а если хочешь узнать зачем,
virtual в производных классах писать читай, что такое COM. Добавлено через 4 минуты Не если, я не в тему задачи, пусть кто-нибудь меня подправит. Я просто показал основную фишку C++, между прочим sto.r.m и ее еще не знает.
0
|
|
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||
| 14.01.2010, 12:30 | ||
|
Evg:
Моя цель была, показать синтаксис, а не решать задачу. Evg: Если хочешь напиши сам, поставленную задачу, если тебе не нравится virtual в производных убирай, мне все равно. Про причины наличия виртуальные функций в производных отвечать не буду. Написано значит написано, тому были причины.
0
|
||
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||
| 14.01.2010, 12:41 | ||
|
Genius Ignat, ты забыл в базовом классе виртуальный деструктор определить.
0
|
||
|
|
|||||||||||||
| 14.01.2010, 14:35 | |||||||||||||
0
|
|||||||||||||
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||
| 14.01.2010, 14:49 | ||
|
0
|
||
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||||||
| 14.01.2010, 14:56 | ||||||
|
zim22:
В абстрактных классах представляющих из себя интерфейсы, не нужны конструкторы, и деструкторы В производных деструкторы, нужны не спорю, ну забыл приписать, ты посмотри на время, когда был пост с примером: спать хотелось. исправлюсь:
Почитайте лучше: http://it-books.narod.ru/COM/InsideCOM_rus.rar И хватит спорить, в этой книге, написано и про определения типа во время выполнения, и про полиморфизм. По крайней мере, лучшего объяснения, и примеров я не видел, тем более в этой книге есть нечто большее, чем просто виртуальные функции конструкторы и деструкторы, про которые все так усердно спорят
0
|
||||||
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|||
| 14.01.2010, 15:00 | |||
|
тело которого будет определено вне класса.
0
|
|||
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
| 14.01.2010, 15:03 | |
|
Жесть:
Спорить не буду, пусть каждый будет при своем мнении, ну книгу лучше почитай.
0
|
|
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||
| 14.01.2010, 15:08 | ||
|
кто-то ошибается: или ты, или я. я не ошибаюсь в данном случае с вероятностью 73% ![]() у меня на винте список из порядка 100 книг валяется по С++/алгоритмам/т.д. так мне что тоже говорить тебе, чтобы ты их все прочитал? ![]() давай уже до правды докапываться. в чём я ошибаюсь с твоей точки зрения?
0
|
||
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
| 14.01.2010, 15:10 | |
|
Надеюсь автор темы, её закроет.
Иначе будет бесконечный апельсин. Добавлено через 1 минуту Книгу скачай там узнаешь, Если автор книги ошибается, тогда я не причём.
0
|
|
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
| 14.01.2010, 15:17 | |
|
0
|
|
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
| 14.01.2010, 15:27 | |
|
Ща поищем
Добавлено через 1 минуту стр.27 Добавлено через 7 минут zim22: по дружески скажи, где в опциях форума можно найти, что бы в моих ответах ставилась, кнопка "спасибо"
0
|
|
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|||||||
| 14.01.2010, 15:29 | |||||||
|
*** вот сорс-код из книги
0
|
|||||||
|
|
||||||
| 14.01.2010, 15:31 | ||||||
|
0
|
||||||
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
| 14.01.2010, 15:31 | |
|
Дальше книгу почитай, от указателя ни чего не зависит.
0
|
|
| 14.01.2010, 15:31 | |
|
Помогаю со студенческими работами здесь
20
Реализовать абстрактный класс pair c виртуальными арифметическими функциями Создать абстрактный базовый класс с виртуальными функциями - площадь и периметр Создать базовый класс список. Реализовать на базе списка стек и очередь с виртуальными функциями вставки и вытаскивания
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|