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

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

Войти
Регистрация
Восстановить пароль
 
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
#1

Абстрактные классы - C++

01.04.2014, 08:04. Просмотров 403. Ответов 14
Метки нет (Все метки)

Никак не могу понять смысл абстрактных данных.Ведь мы можем использовать и обычный класс,только абстракция запрещает создавать объекты.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2014, 08:04     Абстрактные классы
Посмотрите здесь:

Абстрактные классы - C++
Объясните пожалуйста почему это не работает и как исправить? cannot declare variable 'b1' to be of abstract type 'classB' because the...

Абстрактные классы - C++
Ребята! Помогите с таким делом. Мне дали задание создать абстрактный класс Автомобиль, классы наследники: гоночный автомобиль, асфальтный...

Абстрактные классы - C++
Помогите плиз, экзаменационное задание, а разобраться не могу с ним: Создать консольное приложение, в котором реализовать работу...

Абстрактные классы - C++
В общем есть у нас 2 абстрактных класса CA и CB и 2 дочерних от них класса CC и CD. Как сделать так чтобы CD наследовал CB поверх которого...

абстрактные классы - C++
Здрасте я при написании программы столкнулся с проблемой что немогу создать указатель на объект т.к. класс абстрактный прошу помогите...

Абстрактные классы - C++
Народ, вопрос есть такой. Есть абстрактный класс class A { protected: int a; public: A(int b=0):a(b) {

Абстрактные классы - C++
Помогите пожалуйста, сообразить не могу. Есть абстрактный класс. У него есть метод, чтение из файла. Есть производный от него класс....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,009
01.04.2014, 08:06     Абстрактные классы #2
Игорюня, имея абстрактный класс, можно с разными типами работать единообразно. Примеров полно в любой книге.
rrrFer
Заблокирован
01.04.2014, 08:10     Абстрактные классы #3
Абстрактные классы описывают интерфейс для своих наследников и обязывают его реализовывать. Т.е. до тех пор пока наследники не реализуют интерфейс мы не сможем создавать объекты (могут и не реализовывать, но останутся абстрактными). Зато клиенты, использующие эти объекты по указателю на абстрактный класс могут быть уверены в интерфейсе. В этом суть.
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
01.04.2014, 08:10  [ТС]     Абстрактные классы #4
Виртуальные функции?
rrrFer
Заблокирован
01.04.2014, 08:13     Абстрактные классы #5
Цитата Сообщение от Игорюня Посмотреть сообщение
Виртуальные функции?
Это вопрос?
Абстрактный класс - это класс с хоть одной чисто виртуальной функцией.
Открой книжку. Форум - это не учебник.
ValeryS
Модератор
6541 / 5007 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
01.04.2014, 08:17     Абстрактные классы #6
Цитата Сообщение от Игорюня Посмотреть сообщение
Виртуальные функции?
почти что
чистые виртуальные функции
C++
1
virtual int fnc()=0;
ну а про абстрактные классы
вот пример, притянутый за уши, из физики
там есть понятие точки
точка опоры, точка приложения сил .......
но точка понятие абстрактное никогда не существующее, на самом деле рассматривают прямоугольник, круг или еще чего слишком малого размера
так вот можно сказать что точка это абстрактный класс а все геометрические фигуры это наследники его
но при расчетах их приводят к точке
rrrFer
Заблокирован
01.04.2014, 08:21     Абстрактные классы #7
Цитата Сообщение от ValeryS Посмотреть сообщение
вот пример, притянутый за уши, из физики
...
но точка понятие абстрактное никогда не существующее, на самом деле рассматривают прямоугольник, круг или еще чего слишком малого размера
пример ущербный, если уж на то пошло. Прямоугольник не менее абстрактный чем точка. И тоже ни разу не существует.
Прямоугольник - не наследник точки. Открой Саттера.
Если твой прямоугольник наследует точку, то ты утверждаешь, что прямоугольник является точкой. А он является точкой?
ValeryS
Модератор
6541 / 5007 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
01.04.2014, 08:30     Абстрактные классы #8
Цитата Сообщение от rrrFer Посмотреть сообщение
Прямоугольник не менее абстрактный чем точка. И тоже ни разу не существует.
Серьезно? Вот он передо мной лежит, в виде листа бумаги
бедные геометры то не знали, что считают периметр и площадь несуществующей фигуры
Цитата Сообщение от rrrFer Посмотреть сообщение
Прямоугольник - не наследник точки.
Я где то утверждал обратное?
Рассматривается как точка, для этого я ввел слова
Цитата Сообщение от ValeryS Посмотреть сообщение
можно сказать
или ты источник света,звезду находящуюся за сотни световых лет, рассматриваешь как сферу?

Цитата Сообщение от rrrFer Посмотреть сообщение
Открой Саттера.
Это физик? Я сказал во первых что
Цитата Сообщение от ValeryS Посмотреть сообщение
притянутый за уши
во вторых
Цитата Сообщение от ValeryS Посмотреть сообщение
из физики
а в ней родной все тела, имеет место быть, рассматривают как точку
Цитата Сообщение от rrrFer Посмотреть сообщение
пример ущербный, если уж на то пошло.
Приведи другой
DrOffset
6917 / 4110 / 939
Регистрация: 30.01.2014
Сообщений: 6,905
01.04.2014, 08:48     Абстрактные классы #9
Цитата Сообщение от ValeryS Посмотреть сообщение
а все геометрические фигуры это наследники его
Если из физики, то там фигур нет. Есть тела. Так что мне в принципе понятно почему к тебе rrrFer придрался. Но и понятно, что ты на самом деле имел в виду
Если написать вместо геометрических фигур - тела, то ИМХО станет и понятнее, и ближе к истине, и поводов придраться будет меньше
Цитата Сообщение от rrrFer Посмотреть сообщение
И тоже ни разу не существует.
Вот это прямой намек на то, что в физике нет фигур - это абстрактное понятие из геометрии.
rrrFer
Заблокирован
01.04.2014, 11:05     Абстрактные классы #10
Цитата Сообщение от ValeryS Посмотреть сообщение
Прямоугольник - не наследник точки.
Я где то утверждал обратное?
ты тут утверждал обратное:
Цитата Сообщение от ValeryS Посмотреть сообщение
так вот можно сказать что точка это абстрактный класс а все геометрические фигуры это наследники его
Короче, читай собственные сообщения до отправки.
Цитата Сообщение от ValeryS Посмотреть сообщение
Это физик? Я сказал во первых что
Это программист, член коммитета стандартизации С++ и просто очень уважаемый и известный человек, который пишет нормальные книги. Книги не столько по С++, сколько по проектированию.

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
Приведи другой
0x10, четко ответил на это в первом сообщении темы.
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.04.2014, 11:35     Абстрактные классы #11
Стоило бы еще наверно упомянуть про то, чем абстрактный класс отличается от интерфейса (в С++ насколько знаю, интерфейсов как в java, например, нет). Отличается тем, что в абстрактном классе для последующих производных классов можно задать какие-то единые данные по умолчанию (т.е. реализацию).
В общем-то, в первом посте темы об этом сказано, но более широко.
ValeryS
Модератор
6541 / 5007 / 461
Регистрация: 14.02.2011
Сообщений: 16,653
01.04.2014, 11:57     Абстрактные классы #12
Цитата Сообщение от rrrFer Посмотреть сообщение
ты тут утверждал обратное:
Слова "можно сказать" игнорируем?
Цитата Сообщение от rrrFer Посмотреть сообщение
0x10, четко ответил на это в первом сообщении темы.
и что человеку, ни разу не щупавшему, что такое абстрактный класс,стало более понятно?
0x10
01.04.2014, 12:07
  #13

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
и что человеку, ни разу не щупавшему, что такое абстрактный класс,стало более понятно?
Скорее rrrFer говорил о том, что я сразу послал в книги, даже не пытаясь объяснить. Форум - действительно не учебник, а вопрос в теме - не про матанализ, так что можно рассчитывать, что в книгах реально найти доступное изложение материала.

ValeryS
01.04.2014, 12:12
  #14

Не по теме:

Цитата Сообщение от 0x10 Посмотреть сообщение
Форум - действительно не учебник,
да здесь иногда лучше объяснят а иногда хуже
но на систематизацию знаний рассчитывать не стоит
Цитата Сообщение от 0x10 Посмотреть сообщение
что в книгах реально найти доступное изложение материала.
в свое время, я долго не мог понять, что такое "теорема Котельникова", продирался через формулы, и наконец заучил, но не понял
А пришел человек, нарисовал спектр сигнала, и все стало ясно, почему частота дискретизации должна быть выше в два раза.
Так что не всегда в учебниках более понятно

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2014, 12:55     Абстрактные классы
Еще ссылки по теме:

абстрактные классы - C++
компилятор ругается когда я пытаюсь записать объект класса!!!! подскажите что я не правильно делаю!! #include <cstdlib> #include...

Абстрактные классы - C++
void _tmain() { const int lim = 100; MyFunction *pFunc ; int count = 0; pFunc = new My_Exp; pFunc = new Line; pFunc...

Наследование, абстрактные классы. - C++
Собственно нужно создать абстрактный базовый класс Shape, от него наследовать абстрактные классы Shape2D и Shape3D. От них конкретные...

Абстрактные классы. Интерфейсы - C++
Помогите пожалуйста!!! Лабораторная работа по ООП. Тема: Абстрактные классы. Интерфейсы. Цель: получить навыки создания иерархии...

Абстрактные базовые классы - C++
Помогите решить пожалуйста!) Задание 1 . Создать базовый класс - фигура, и производные класс - круг, прямоугольник, трапеция....


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

Или воспользуйтесь поиском по форуму:
0x10
01.04.2014, 12:55     Абстрактные классы
  #15

Не по теме:

ValeryS, я не просто так отметил, что тут область такая, что не всегда книги тяготеют к формальным занудным объяснениям) Ну да ладно, не суть.

Yandex
Объявления
01.04.2014, 12:55     Абстрактные классы
Ответ Создать тему
Опции темы

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