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

"Абстрактный" вопрос... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функции http://www.cyberforum.ru/cpp-beginners/thread144748.html
помогите составить программу, которая находит наибольшее сторону треугольника, если заданы координаты вершин(x1,y1)(x2,y2)(x3,y3). Вычисления расстояния между двумя точками оформить с помощью функции по формуле d=sqrt(sqr(x1-x2)+sqr(y1-y2))
C++ Сортировка списка Привет, всем.. Ребята помогите у подруги зачет по программированию ей надо решить задачку.. Информационное поле элемента сортированного списка-числовое. Найти максимальный элемент сортированного списка и поменять его местами с первым элементом сортированного списка.. Заранее спасибо.. Добавлено через 2 часа 14 минут Ребята помогите плизз.. Подругу выгонят.. а жалко.. http://www.cyberforum.ru/cpp-beginners/thread144747.html
C++ Найти такую прямую, по разные стороны от которой лежат по N/2 точек
Помогите написать программу: Матрица N*2 задаёт координаты N точек плоскости (N-чётное число). Найти такую прямую, по разные стороны от которой лежат по N/2 точек
Является ли данное слово палиндромом? C++
Помогите написать прогу, определяющую является ли данное слово палиндромом, с помощью рекурсии. Без рекурсии эта функция выглядит примерно так: bool Palindrom(string s) { int i = 0, j=s.length()-1; for (; i < j; i++, j--) if (s!=s) return false; return true; } а как сделать через рекурсию, я никак не сооброжу.
C++ Запуск exe http://www.cyberforum.ru/cpp-beginners/thread144718.html
Пользуюсь вижуалом, когда скомпилировал приложение .exe его могут запустить только те у кого есть компилятор, когда человек без компилятора запускает его, то ему выбивает ошибка бла бла бла неверные настройки, подскажите пожалуйста как это исправить???
C++ Конвертирование char в int Перевожу char в int, но на выходе неверное число, вот упрощений вариант: #include <iostream.h> main() { char c = '1'; int i = static_cast<int>(c); cout << i; } подробнее

Показать сообщение отдельно
SphiNkSs
5 / 5 / 1
Регистрация: 28.03.2010
Сообщений: 143

"Абстрактный" вопрос... - C++

13.06.2010, 12:17. Просмотров 1009. Ответов 6
Метки (Все метки)

Пипл объясните мне пожалуйста, если не трудно, зачем нужны абстрактные методы/классы???
Насколько я понял абстрактные классы это те куда входят абстрактные методы, а абстрактные методы это те которые имеют только имя и аргументы, но не имеют реализации. И только этим и отличаются от обычных методов/классов, но тогда какой в них смысл???

Пример с википедии:
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
#include <iostream>
 
class CA { // Абстрактный класс
  public:
    CA(void){ cout << "This object of the class "; }      
    virtual void Abstr(void) = 0; // Чистая (пустая) виртуальная функция.
    void fun(void){ cout << "Реализация не будет наследоваться!"; }
    ~CA(){ cout << "." << endl; } //Вызывается в обр. порядке конструкторов
  };
class CB: public CA {
  public:
    CB(void){ cout << "CB;"; }
    void Abstr(void){ cout << " call function cb.Abstr();"; } //Подменяющая функция.
    void fun(void){ cout << " call function cb.fun()"; }
    ~CB(){} // Неверно для абстр. кл. ~CC(){ ~CA(); } 
  };
class CC: public CA {
  public:
    CC(void){ cout << "CC;"; }
    void Abstr(void){ cout << " call function cc.Abstr();"; } //Подменяющая функция.
    void fun(void){ cout << " call function cc.fun()"; }
  ~CC(){} // Неверно для абстр. кл. ~CC(){ ~CA(); } 
  };
int main(){
  cout << "Program:" << endl;
  CB cb; cb.Abstr(); cb.fun(); cb.~CB();
  CC cc; cc.Abstr(); cc.fun(); cc.~CC();
  int i; cin >> i;
  }
ЗЫ Отвечаю на не заданный вопрос: в интернете читал, но не понял зачем они все таки нужны.
Объясните пожалуйста, своими словами...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru