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

виртуальные функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определение максимального значения http://www.cyberforum.ru/cpp-beginners/thread271906.html
Здравствуйте! Подскажите начинающему, как можно определить максимальное значение нескольких чисел, что бы не играться с условной инструкцией. Нашел оператор max, но он работает только с 2 числами. cin >>a>>b>>c>>d; result=max (a,b,c,d); /*не работает*/ Спасибо!
C++ Посмотрите код Помогите разобраться, пишу программу на С++. Вот код: app.cpp #include <SDL/SDL.h> #include "App.h" #include "Log.h" #include "Config.h" CApp::CApp() { http://www.cyberforum.ru/cpp-beginners/thread271894.html
Потоки C++
Помогите,пожалуйста!Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробельные символы.(С++).
Очередь C++
Всем приветики! Если кто нибудь знает помогите пожалуйста вот с такой задачкой. Есть какая-то очередь с элементами, нужно найти все нечетные и добавить в конец. Я вообще не знаю даже с чего начать
C++ Элементы http://www.cyberforum.ru/cpp-beginners/thread271861.html
Помогите перевести код программы к старому образцу ну для c++ 3.1 #include <queue> void main( void ) { std::queue<int> q, tmp; for ( int i = 1; i <= 10; i++ ) q.push( i ); // заполняем числами
C++ Реализовать программу, решающую СЛАУ методом Гаусса Реализовать программу, решающую СЛАУ методом Гаусса. Требования: 1. Программа должна выдавать решение для СЛАУ, имеющих единственное решение. 2. Программа должна работать со СЛАУ, имеющими произвольную размерность. 3. Квадратную матрицу и столбец свободных членов программа должна загружать из текстового файла. 4. После вычисления решения необходимо оценить погрешность решения СЛАУ A*x=b:... подробнее

Показать сообщение отдельно
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
08.04.2011, 23:26     виртуальные функции
Опишу суть своего кода:
У нас есть абстрактный родительский класс Shape - фигура. В нём объявлена чисто виртуальная функция area - площадь. От этого класса наследуют три дочерних класса - Square, Triangle, Circle - квадрат, треугольник, круг. В каждом из них функция вычисления площади конкретизируется (т.е. пишется реализация, для каждого класса, естественно, своя). Затем, в основной функции, создаётся вектор указателей на Shape - на абстрактный родительский класс. В цикле мы предлагаем пользователю варианты фигур, которые он может создать. Пользователь может создать одну фигуру, может 3, а может 10. Они могут идти в любой последовательности (при каждом запуске разной). Т.е. на этапе компиляции мы ничего не знаем о будущей структуре вектора shapes (какие фигуры, сколько их и в какой они созданы последовательности). В итоге, скажем, пользователь насоздавал 1000 разных фигур. И тут в игру вступает позднее связывание. Поскольку как в родительском классе (без реализации), так и в дочерних (с реализацией) есть функции area, то нам не обязательно каждый раз знать, какая фигура в какой ячейке находится. Нам достаточно в цикле вызывать функцию area для каждой ячейки массива shapes, а уж какая конкретно будет вызвана функция (ведь площадь каждой из трёх фигур вычисляется по-разному) - это будет определено автоматически и нам об этом думать не надо.
Вообще, код не такой уж и большой, основную часть занимают красивости, вывод и т.д. Содержательная часть - три класса и не больше 10 строчек в main.
 
Текущее время: 12:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru