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

virtual void execute()=0 - C++

Восстановить пароль Регистрация
 
Ivansh6
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 12
25.06.2013, 23:12     virtual void execute()=0 #1
ребят,скажите пожалуйста что значит эта за строчка virtual void execute()=0 ???для чего она нужна?и что она вообще делает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2013, 23:12     virtual void execute()=0
Посмотрите здесь:

void C++
delete или new (typeid(void*))(void*) C++
C++ Что значит void(*f)()=(void(*)()func?
C++ в чем разница между void f(int &n) и void f(int &&n)
не получается передать массив из "void Vvod" в "void CalculatingEstimates" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
25.06.2013, 23:15     virtual void execute()=0 #2
смотрите что такое абстрактные классы и "чисто виртуальные методы".
Ivansh6
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 12
25.06.2013, 23:49  [ТС]     virtual void execute()=0 #3
вот пример
C++
1
2
3
4
5
class A
{
public:
virtual void v_function(void)=0;
};
какую роль играет эта строчка virtual void v_function(void)=0; ?и что она значит?и для чего?
напишите пожалуйста
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.06.2013, 23:56     virtual void execute()=0 #4
@Ivansh6, Вам же указали нужные темы для прочтения.
Ну, если так яснее, то это чистая виртуальная функция. Она делает класс, в котором определена, абстрактным. Т.е. экземпляр этого класса (объект) Вам создать уже не удастся. Однако, от этого класса можно наследоваться, переопределяя эту функцию в каждом производном. По идее реализации у нее может и не быть, хотя если очень хочется, то можно и описать.
Jupiter
26.06.2013, 00:03
  #5

Не по теме:

Цитата Сообщение от BumerangSP Посмотреть сообщение
то это чистая виртуальная функция
а бывают грязные?

BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
26.06.2013, 00:04     virtual void execute()=0 #6
@Jupiter, бывают просто виртуальные, что не так?
Jupiter
26.06.2013, 00:07
  #7

Не по теме:

@BumerangSP, чисто виртуальная.
"чистая" она была бы если бы её кто-то от чего-то отмыл

Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
26.06.2013, 00:08     virtual void execute()=0 #8
Цитата Сообщение от Ivansh6 Посмотреть сообщение
какую роль играет эта строчка virtual void v_function(void)=0; ?и что она значит?и для чего?
Означает, что в производных классах (от А) обязательно должна быть определена такая функция.
Абстрактный класс служит своеобразным шаблоном для классов.
BumerangSP
26.06.2013, 00:08
  #9

Не по теме:

@Jupiter, а, ну да, точно

Tulosba
26.06.2013, 10:46
  #10

Не по теме:

@Jupiter, @BumerangSP, тоже стало любопытно. По-моему, это всё трудности перевода. Т.к. дословно:
pure virtual function - чистая виртуальная функция;
purely virtual function - чисто виртуальная функция.
А вообще, проще назвать ее абстрактной и разойтись

BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
26.06.2013, 13:06     virtual void execute()=0 #11
@Tulosba, да, вот по pure она чистая) Хотя, если погуглить, называет ее кто как. Да и в книжке ООП в C++ всем известного Р. Лафоре тоже такой перевод:
Миниатюры
virtual void execute()=0  
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
26.06.2013, 13:22     virtual void execute()=0 #12
@BumerangSP, а вот такое у Страуструпа:
Миниатюры
virtual void execute()=0  
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11801 / 6780 / 765
Регистрация: 27.09.2012
Сообщений: 16,833
Записей в блоге: 2
Завершенные тесты: 1
26.06.2013, 13:25     virtual void execute()=0 #13
Цитата Сообщение от Tulosba Посмотреть сообщение
а вот такое у Страуструпа
Страуструп сразу на русском писал?
Все претензии к переводчикам. В стандарте pure virtual function и этого хватит.
Забыли еще перевести pure-specifier
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2013, 14:10     virtual void execute()=0
Еще ссылки по теме:

C++ LNK2019: ссылка на неразрешенный внешний символ "void __cdecl run(void)" (?run@@YAXXZ) в функции _wmain
C++ Зачем в конце объявления виртуальной функции ноль: virtual void show()=0 ?
Protected abstract virtual base pure virtual private destructor C++

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
26.06.2013, 14:10     virtual void execute()=0 #14
@Croessmah, о том, что это трудности перевода я сказал немного выше.
Yandex
Объявления
26.06.2013, 14:10     virtual void execute()=0
Ответ Создать тему
Опции темы

Текущее время: 12:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru