Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2011, 20:21   #11
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
почему не имеет реализации? она прекрасно вызывается Shape::Draw()
Рановато вам лезть в такие дебри. Если абстрактная функция не определена, то она уже не абстрактная.
Если вы определили функцию, то она уже перестала быть чисто виртуальной, но не перестала быть виртуальной. Разницу чувствуете? Такое ощущение, что нет.
А насчёт VS - ну, вапше-то лучше MinGW(например, Code::Blocks), хотя, конечно, на вкус и цвет товарищей нет. Просто видите ли, Microsoft сделала свой вариант С++, и он ориентирован на .NET, а писать на С++ под .NET - not good.
_-Re@l-_ вне форума Ответить с цитированием
Старый 19.08.2011, 20:23   #12
dasvex
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
и вы думаете он будет вызван автоматически?(это вам не конструктор)
только если ручками максимум.
0_0 конечно я так не думаю
да просто ради увеличения функционала .. почему бы нет ??
это что совсем дурной тон ?
dasvex вне форума Ответить с цитированием
Старый 19.08.2011, 20:28   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

_-Re@l-_,
Цитата:
Просто видите ли, Microsoft сделала свой вариант С++, и он ориентирован на .NET, а писать на С++ под .NET - not good.
выкиньте этот бред раз и навсегда.
MSVC++2010E отлично позволяет создавать Native C++ приложения.
а если вы выбираете WinForms приложение(и тогда С++ CLR) то это ваша вина.
(хотя в 2008Е говорят не было такой возможности(чтоб без CLR))

Цитата:
это что совсем дурной тон ?
да, ибо если функция абстрактная, то абстрактной пусть и будет.(это просто путаница возникает сильная)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.08.2011, 20:29   #14
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от dasvex Посмотреть сообщение
0_0 конечно я так не думаю
да просто ради увеличения функционала .. почему бы нет ??
это что совсем дурной тон ?
Тогда зачем её объявлять чисто виртуальной? Хотите некий функционал "по умолчанию", объявите функцию просто виртуальной, с реализацией.
netrino вне форума Ответить с цитированием
Старый 19.08.2011, 20:30   #15
dasvex
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Рановато вам лезть в такие дебри. Если абстрактная функция не определена, то она уже не абстрактная.
Если вы определили функцию, то она уже перестала быть чисто виртуальной, но не перестала быть виртуальной. Разницу чувствуете? Такое ощущение, что нет.
А насчёт VS - ну, вапше-то лучше MinGW(например, Code::Blocks), хотя, конечно, на вкус и цвет товарищей нет. Просто видите ли, Microsoft сделала свой вариант С++, и он ориентирован на .NET, а писать на С++ под .NET - not good.
так , что нам дает чисто виртуальная функция ?
-не дает создавать обьекты этого класса
- и она должна быть замешена в производном классе

даже если только функцию Draw оставить чисто виртуальной при этом сделать ее реализацию , компилятор не даст создать мне обьект
вывод - функция до сих пор чисто виртуальная
dasvex вне форума Ответить с цитированием
Старый 19.08.2011, 20:31   #16
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
это что совсем дурной тон ?
Это совсем лажа.
ПОВТОРЯЮ! Если функция определена, то УЖЕ НЕ АБСТРАКТНАЯ!! (а вот класс абстрактный). Так надо было сразу определить её в коде, а не делать чисто виртуальной(нельзя создавать объекты абстрактных классов) - да кстати, повторяю слова Пепел Феникса, чисто виртуальные функции понимают под собой то, что они будут определены в производных классах.

Цитата:
а если вы выбираете WinForms приложение(и тогда С++ CLR) то это ваша вина.
(хотя в 2008Е говорят не было такой возможности(чтоб без CLR))
Про это и говорю! И лучше это вы забудьте про MSVC 2010.

Цитата:
функция до сих пор чисто виртуальная
Эх, вам бы ещё Hello World раз сто написать прежде чем в это лезть.

Последний раз редактировалось _-Re@l-_; 19.08.2011 в 20:42.
_-Re@l-_ вне форума Ответить с цитированием
Старый 19.08.2011, 20:38   #17
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
И лучше это вы забудьте про MSVC 2010.
выбирайте верный тип проекта и все в порядке.
я сам использую gcc, но как редактор лучше студии пока ничего не видел(да и компиль нелох)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.08.2011, 20:42   #18
dasvex
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Это совсем лажа.
ПОВТОРЯЮ! Если функция определена, то УЖЕ НЕ АБСТРАКТНАЯ!! Так надо было сразу определить её в коде, а не делать чисто виртуальной(нельзя создавать объекты абстрактных классов) - да кстати, повторяю слова Пепел Феникса, чисто виртуальные функции понимают под собой то, что они будут определены в производных классах.


Про это и говорю! И лучше это вы забудьте про MSVC 2010.


Эх, вам бы ещё Hello World раз сто написать прежде чем в это лезть.
ох , лучше бы сказали что я теряю ,определяя ее
действительно обладая тем обьемом знаний что у меня пока есть, я не вижу почему функция перестает быть чисто виртуальной

да наверное дурной тон , и все же функция остается чисто виртуальной

если нет , не могли бы ли вы сказать почему ? все свойства чисто виртуальной сохраняются
dasvex вне форума Ответить с цитированием
Старый 19.08.2011, 20:47   #19
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
я сам использую gcc, но как редактор лучше студии пока ничего не видел(да и компиль нелох)
Компиль-то лох как раз Бесят все эти мелкософтовские __delegate,__abstract и проч. А как IDE вапше ничего лучше Delphi не видел Да Code::Blocks респект.
Цитата:
выбирайте верный тип проекта и все в порядке.
Последний раз пару месяцев назад ставил 2008 версию. Потом удалил.
2010 в жизни не поставлю, фтопку её.
_-Re@l-_ вне форума Ответить с цитированием
Старый 19.08.2011, 20:55   #20
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Бесят все эти мелкософтовские __delegate,__abstract и проч.
это С++ CLR, а не С++.
нечего путать два разных языка.
Цитата:
Последний раз пару месяцев назад ставил 2008 версию. Потом удалил.
2010 в жизни не поставлю, фтопку её.
если 2008 был экспресс то все понятно, именно в ней была проблема насильного посаживания на C++ CLR.
в 2010 с этим все в порядке.
(сейчас пишу и отлаживаю код в ней, потом проверю под MinGW, хотя все норм должно быть, ибо пишу правильно и на С++)
Цитата:
Да Code::Blocks респект.
не переношу его, уж лучше в блокноте чем в нем.
Цитата:
А как IDE вапше ничего лучше Delphi не видел
1)Делфи всетаки RAD
2)язык иной, там немного легче.
Цитата:
ох , лучше бы сказали что я теряю ,определяя ее
действительно обладая тем обьемом знаний что у меня пока есть, я не вижу почему функция перестает быть чисто виртуальной
просто глупо так делать, если уж имеет реализацию значит имеет, а если нет значит нет.
не запутывайте собственный код.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 19.08.2011 в 21:01.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На getasynckeystate() ругаеться Касперский? Дима я Win Api 9 19.08.2012 13:44
Функция на виртуальную распечатку строки Alex Cones Общие вопросы Delphi 5 15.05.2010 15:33
Ругаеться антивирусник Volkogriz Общие вопросы Delphi 4 20.01.2010 23:06
помогите с кодом а то компилятор ругаеться =( Above_men Помощь студентам 9 21.04.2009 07:21
маска ввода через виртуальную клавиатуру Димка JavaScript, Ajax 3 09.03.2009 19:33