logo

C++ срещу Java

Има много разлики и прилики между C++ програмиране език и Java . Списък с основните разлики между C++ и Java е даден по-долу:

Сравнителен индекс C++Java
Независим от платформата C++ е зависим от платформата.Java е независима от платформата.
Използва се главно за C++ се използва главно за системно програмиране.Java се използва главно за програмиране на приложения. Той се използва широко в базирани на Windows, уеб базирани, корпоративни и мобилни приложения.
Дизайн цел C++ е предназначен за програмиране на системи и приложения. Това беше продължение на Език за програмиране C .Java е проектирана и създадена като интерпретатор за системи за печат, но по-късно е разширена като помощна мрежова изчислителна система. Той е проектиран да бъде лесен за използване и достъпен за по-широка аудитория.
Отивам C++ поддържа командата goto.Java не поддържа командата goto.
Множествено наследяване C++ поддържа множествено наследяване.Java не поддържа множествено наследяване чрез клас. Може да се постигне чрез използване на интерфейси в java .
Претоварване на оператора C++ поддържа претоварване на оператора .Java не поддържа претоварване на оператори.
Указатели C++ поддържа указатели. Можете да напишете указателна програма на C++.Java поддържа указател вътрешно. Въпреки това не можете да напишете програмата за указател в java. Това означава, че java има ограничена поддръжка на указател в java.
Компилатор и интерпретатор C++ използва само компилатор. C++ се компилира и изпълнява с помощта на компилатора, който преобразува изходния код в машинен код, така че C++ зависи от платформата.Java използва както компилатор, така и интерпретатор. Изходният код на Java се преобразува в байт код по време на компилация. Интерпретаторът изпълнява този байткод по време на изпълнение и произвежда изход. Java се интерпретира, затова е независима от платформата.
Повикване по стойност и Повикване по референция C++ поддържа както извикване по стойност, така и извикване по референция.Java поддържа извикване само по стойност. В java няма извикване чрез препратка.
Структура и съюз C++ поддържа структури и съюзи.Java не поддържа структури и съюзи.
Поддръжка на нишки C++ няма вградена поддръжка за нишки. Той разчита на библиотеки на трети страни за поддръжка на нишки.Java има вграден резба поддържа.
Коментар на документацията C++ не поддържа коментари в документацията.Java поддържа коментар на документацията (/** ... */) за създаване на документация за изходния код на Java.
Виртуална ключова дума C++ поддържа виртуална ключова дума, за да можем да решим дали да заменим дадена функция или не.Java няма виртуална ключова дума. Можем да заменим всички нестатични методи по подразбиране. С други думи, нестатичните методи са виртуални по подразбиране.
неподписано дясно изместване >>> C++ не поддържа оператор >>>.Java поддържа неподписан десен оператор >>>, който запълва нула в горната част за отрицателните числа. За положителни числа работи по същия начин като оператора >>.
Дърво на наследството C++ винаги създава ново дърво на наследяване.Java винаги използва едно дърво на наследяване, тъй като всички класове са дъщерни на класа Object в Java. Класът Object е коренът на наследство дърво в java.
Хардуер C++ е по-близо до хардуера.Java не е толкова интерактивна с хардуера.
Обектно ориентиран C++ е обектно-ориентиран език. В езика C обаче йерархията с един корен не е възможна.Java също е обектно-ориентиран език. Въпреки това, всичко (с изключение на основните типове) е обект в Java. Това е йерархия с един корен, тъй като всичко се извлича от java.lang.Object.

Забележка

  • Java не поддържа аргументи по подразбиране като C++.
  • Java не поддържа заглавни файлове като C++. Java използва ключовата дума import, за да включи различни класове и методи.

Пример за C++ програма

Файл: main.cpp

 #include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; } 

Изход:

 Hello C++ Programming 

Пример за програма на Java

Файл: Simple.java

 class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } } 

Изход:

 Hello Java