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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AnGie
Сообщений: n/a
#1

Виртуальные функции и полиморфизм - C++

05.05.2013, 16:03. Просмотров 462. Ответов 1
Метки нет (Все метки)

Создать абстрактный базовый класс с виртуальной функцией - сумма прогрессии. Создать производные классы: арифметическая прогрессия и геометрическая прогрессия. Каждый класс имеет два поля типа double. Первое - первый член прогрессии, второе (double) - постоянная разность (для арифметической) и постоянное отношение (для геометрической). Определить функцию вычисления суммы, где параметром является количество элементов прогрессии.
Арифметическая прогрессия aj=a0+jd, j=0,1,2,…
Сумма арифметической прогрессии: sn=(n+1)(a0+an)/2
Геометрическая прогрессия: aj=a0rj, j=0,1,2,…
Сумма геометрической прогрессии: sn=(a0-anr)/(1-r)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2013, 16:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Виртуальные функции и полиморфизм (C++):

Наследование и полиморфизм.Виртуальные функции - C++
Помогите пожалуйста программу написать. Я новичок и еще не во всем разобрался!!! Задание: Заданы названия базовых и производных...

Полиморфизм, виртуальные функции, перегрузка функций - C++
Изменить программу предыдущей лабораторной работы, функцию определяющую бьет ли первая карта вторую, определитель в базовом классе как...

Реализовать иерархию классов (использовать наследование, полиморфизм, виртуальные функции) - C++
Первый базовый класс – млекопитающие; поля – способ питания, вес, среда обитания. Во втором базовом классе описываются географические...

Написать реферат за пару часов на тему "Наследование, виртуальные функции и динамический полиморфизм" - C++
Здравствуйте форумчане,нужна помощь. Помогите написать реферат за пару часов на тему "Наследование, виртуальные функции и динамический...

виртуальные и чисто виртуальные функции - C++
Чем они отличаются?? если можно, с примерами. И как из виртуальной функции сделать чисто виртуальную? #include <iostream> using...

Полиморфизм и вируальные функции - C++
Создайте простую иерархию геометричесих фигур, состоящую из базового класса Shape, и производных классов Circle, Bar и Triangle. Включите в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
05.05.2013, 16:29 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <cmath>
 
class Progression {
 public:
  Progression(double first, double modifier) : first(first),
    modifier(modifier) {}
  double getFirst() const { return first; }
  double getModifier() const { return modifier; }
  void setFirst(double first) { this->first = first; }
  void setModifier(double modifier) { this->modifier = modifier; }
  virtual double getSum(size_t numberOfElements) const = 0;
 private:
  double first, modifier;
};
 
class ArithmeticProgression : public Progression {
 public:
  ArithmeticProgression(double first, double modifier)
    : Progression(first, modifier) {}
  virtual double getSum(size_t numberOfElements) const {
    return numberOfElements *
      (((2 * getFirst()) + (numberOfElements - 1) * getModifier()) / 2);
  }
};
 
class GeometricProgression : public Progression {
 public:
  GeometricProgression(double first, double modifier)
    : Progression(first, modifier) {}
  virtual double getSum(size_t numberOfElements) const {
    return (getFirst() * (1 - pow(getModifier(), numberOfElements))) /
      (1 - getModifier());
  }
};
 
int main(int argc, char *argv[]) {
  ArithmeticProgression a(0.1, 0.2);
  std::cout << a.getSum(5) << std::endl;
 
  GeometricProgression b(1, 2);
  std::cout << b.getSum(5) << std::endl;
  return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2013, 16:29
Привет! Вот еще темы с ответами:

Полиморфизм, дружественные функции - C++
Всем привет! Имеется такая конструкция: class Base { public: Base(); Base(int n) {}; virtual ~Base() {};

Виртуальные функции - C++
Разработать программу с использованием наследования классов, реализующую классы: Земноводное(ареал обитания)-&gt;Крокодил(род, длина, вес) ...

Виртуальные функции - C++
Создайте класс Word, определите в нем виртуальную функцию-член word_main(*char x), которая выводит на экран фразу: “Я знаю слово x”....

виртуальные функции - C++
ввести виртуальную функцию class A { void init(); } classB:A { void init(); }


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru