Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > C и C++


Автор: n0xi0uzz 25.3.2005, 03:07
Расскажите плз подробно, чем C++ отличается от C?

Автор: Alastis 25.3.2005, 07:15
подробно об этом написано в любой книге про C++... есть еще яндексы, гуглы и так далее..
а если коротко - основное отличие, что С++ - это язык ООП в отличии от С

Автор: n0xi0uzz 25.3.2005, 15:11
спасибо за подробность, о которой я просил ;)

Автор: Ni@m 25.3.2005, 15:20
Хм, если писать подробнго, то руки пообламывабтся столько печатать. Основное отличие - ООП, шаблоны

Автор: En_t_end 25.3.2005, 15:29
Переносимость:
C -> C++. НО код на С++ в большинстве случаях на си не перенести.
И ИМХО, в С нельзя пользоваться инкрементом, декрементом.

Автор: srd 25.3.2005, 15:31
Цитата(En_t_end @ 25.3.2005, 22:29)
И ИМХО, в С нельзя пользоваться инкрементом, декрементом.

Твоё ИМХО неправо.

Автор: En_t_end 25.3.2005, 15:44
то есть в C, можно пользоваться унарными операторами --,++,-=, +=,*= ???

Автор: srd 25.3.2005, 15:48
Перечисленные тобой операторы попали в Си++ из Си. Из них "унарными" являются только -- и ++.

Автор: En_t_end 25.3.2005, 15:50
srd
Спасибо за разьяснения smile

Автор: EnrolL 25.3.2005, 17:20
C - не объектно ориентированный, в нем нет полиморфизма и множественного наследования.

Автор: sergejzr 25.3.2005, 17:23
Цитата(En_t_end @ 25.3.2005, 14:29)
НО код на С++ в большинстве случаях на си не перенести.

Это почему же? Может ты ошибся? Скорее наоборот.
Добавлено @ 17:23
А, понял, ты имеешь ввиду, что С++ компилер съест Си, а наоборот нет.

Автор: chipset 25.3.2005, 17:34
Цитата(EnrolL @ 25.3.2005, 06:20)
C - не объектно ориентированный, в нем нет полиморфизма и множественного наследования.

Мама.. С каких это пор множественное наследование - признак обьектно-ориентированности? Взгляните на Delphi и Java.
ООП, это: полиформизм, наследование и инкапсуляция.
Цитата(sergej @ 25.3.2005, 06:23)
Это почему же? Может ты ошибся? Скорее наоборот.

Нет. Всё правильно. Как ты перенесёшь программу с классами на Си?

Автор: sergejzr 25.3.2005, 17:40
Цитата(chipset @ 25.3.2005, 16:34)
Нет. Всё правильно. Как ты перенесёшь программу с классами на Си?

Перенесёшь smile

1 вариант: писать вместо классов структуры smile (С++ компилер так и делает т.к первые)
2 вариант: заставить это делать Си компилер самому с помошью #define class struct
Добавлено @ 17:43
Блин, очень жаль, потерял ссылочку. Там автор из Си копилера С++ делает таким образом. Причем полноценный. Т.е с перекладкой операторов итд.

Автор: chipset 25.3.2005, 17:47
Цитата(sergej @ 25.3.2005, 06:40)

1 вариант: писать вместо классов структуры smile (С++ компилер так и делает т.к первые)

А в Си существуют слова private, public, protected, функции-члены, статические функции-члены, деструкторы/конструкторы, и т.д...?

Автор: sergejzr 25.3.2005, 17:56
Нет, но ведь можно определить.

Ладно отложим пока... Может я ссылочку найду. По крайней мере первые Си++ компилеры были именно так реализованы вроде..

Автор: Milena 25.3.2005, 18:02
А еще авторами.

Автор: chipset 25.3.2005, 18:05
Цитата(sergej @ 25.3.2005, 06:56)
Нет, но ведь можно определить.

Честное слово, пока не могу догадываться как ты определишь весь язык C++.

Цитата(sergej @ 25.3.2005, 06:56)
Ладно отложим пока... Может я ссылочку найду. По крайней мере первые Си++ компилеры были именно так реализованы вроде..

Было бы жутко интересно! smile

Автор: Doc_d0s 25.3.2005, 18:49
Да куда мы катимся, не для того Страуструп пыхтел над C with (!!!)CLASSES(!!!) что некоторые товарищи называли его творение почти С smile Скажите ка мне как вы создадите конструктор структуры? или деструктор, или приватное поле или дружественную структура, ага съели smile

Автор: Олег М 25.3.2005, 21:23
Цитата(Doc_d0s @ 25.3.2005, 18:49)
Да куда мы катимся, не для того Страуструп пыхтел над C with (!!!)CLASSES(!!!) что некоторые товарищи называли его творение почти С  Скажите ка мне как вы создадите конструктор структуры? или деструктор, или приватное поле или дружественную структура, ага съели 

Спокойнее, С++, конечно классная штука, но основные идеи, офигенно классные, были придуманы в Си. А именно, что язык программирования актуален прежде всего для программистов на этом языке, а не для разработчиков интерперетаторов и компиляторов с него, и не для ламеров, которым кровь из носу надо показать, что они умеют программировать
Добавлено @ 21:25
smile Ну, там ещё проектирование есть...

Автор: EnrolL 25.3.2005, 23:38
Сорри может чуток не в тему, а как нащёт C# - что это , и чем оно отличается от ранних творений+ луче или хуже...на ваше мнение.

Автор: Dov 26.3.2005, 01:54
Цитата(chipset @ 25.3.2005, 16:34)
Цитата(EnrolL @ 25.3.2005, )
...в нем нет полиморфизма...

ООП, это: полиформизм, наследование и инкапсуляция.

Сразу напишу возможные варианты, что бы народ мог выбирать
  • полимофризм
  • полифомризм
  • полиромфизм
  • полирофмизм
p.s. А как правильно-то? smile smile

Автор: chipset 26.3.2005, 01:56
Цитата(Dov @ 25.3.2005, 14:54)
p.s. А как правильно-то? smile smile

Poly+morphism-многоморфный, я очепятался.. smile
Добавлено @ 01:56
Цитата(EnrolL @ 25.3.2005, 12:38)
Сорри может чуток не в тему, а как нащёт C# - что это , и чем оно отличается от ранних творений+ луче или хуже...на ваше мнение.

В некоторых вопросах лучше, в некоторых хуже.
Тебе в другой форум smile

Автор: EXTR PROGRAMMER 26.3.2005, 20:25
Цитата(n0xi0uzz @ 25.3.2005, 03:07)
Расскажите плз подробно, чем C++ отличается от C?

Историей и современностью.
Хотя история еще используется для программирования Unix-систем.

Автор: chipset 26.3.2005, 20:32
Цитата(EXTR @ 26.3.2005, 09:25)
Хотя история еще используется для программирования Unix-систем.

драйверов, маленьких прог и кучи всего..
Для разных задач - разные методы.


Автор: pablo 28.3.2005, 17:07
Короче если резюмировать всё вышесказанное, то С это язык чисто структурного программирования подобно Паскаль smile,
ну а С++ ето язык программирования поддерживаюший
и структупную порадигму, и объектно ориентированную.
Ну и синтаксис кое в чём сходится.

Автор: Doc_d0s 28.3.2005, 17:41
Цитата
Короче если резюмировать всё вышесказанное, то С это язык чисто структурного программирования подобно Паскаль

ну ничего себе! Ага С это революция в мире языков высокого уровня и Паскаль стоит на много порядков ниже smile
Что касается С++ почти согласен, он явил таки миру великие возможности выч техники, чем мы успешно и пользуемся(это я про Маздай и Пингвина)smile)

Автор: Олег М 28.3.2005, 17:53
Цитата(Doc_d0s @ 28.3.2005, 17:41)
Ага С это революция в мире языков высокого уровня и Паскаль стоит на много порядков ниже

А по-моему, по выразительным возможностям они примерно одинаковы. Разница в деталях.


Цитата(Doc_d0s @ 28.3.2005, 17:41)
Что касается С++ почти согласен, он явил таки миру великие возможности выч техники, чем мы успешно и пользуемся(это я про Маздай и Пингвина)

Что-то вообще какая-то мутная фраза. А что такое Пингвин и Маздай и каким образом их явил С++?

Автор: Milena 28.3.2005, 19:11
Имеется в виду Linux. Linux - виндовс маздай. А Пингвина зовут Тукс.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)