Difference Between JAVA and C++
» Java is platform independent while C++ is not.
Platform independent means it can be implemented and operated on various platforms without any compatibility problem.
» Output of Java code is bytecode while in C++ it is executable file.
When we compile any JAVA program then an output file is generated which has .class extension, this file is called bytecode. While when we compile C++ file then an executable file is generated which has .exe extension
» Java does not support Pointer while C++ supports.
Because java provides a secure platform and use of pointers in any language makes it insecure by various means.
» Java does not support Structure and Union while C++ supports
These were felt to be redundant since the class encompasses them.
» Java does not support operator overloading while C++ supports.
Operator overloading causes ambiguity in programs that's why JAVA does not support this
» Java only supports Constructor not Destructor
However you can implement destructor using finalize( ) function
» JAVA does not allow Default Arguments while C++ allows
A default argument is an argument to a function that is not required to specify when calling the function because it is already specified by the programmer in function declaration.
» Java does not support multiple inheritance while C++ supports it
However in JAVA "Multiple Inheritance" can be implemented by multi-level and hierarchical inheritance.
» In JAVA objects can be passed by reference only while C++ supports both (Pass by Reference and Pass by Value)
» Java does not support typedef
» Java does not allow the goto statement.
» Java does not support the delete operator.
» Java does not perform any automatic type conversions.
» जावा प्लेटफार्म-इंडिपेंडेंट है जबकि C++ नहीं |
इसका तात्पर्य यह है की जावा में बने प्रोग्राम को किसी भी प्लेटफार्म पर इम्प्लीमेंट तथा ऑपरेट किया जा सकता है |
» जावा कोड का आउटपुट बाईटकोड होता है जबकि C++ में एक्सीक्यूटेबल (.exe) फाइल होती है |
जब हम जावा प्रोग्राम को कम्पाइल करते है तो एक आउटपुट फाइल का निर्माण होता है, जिसका एक्सटेंशन (.class) होता है, इसे बाइटकोड कहते है; जबकि जब हम C++ प्रोग्राम को कम्पाइल करते है तो एक्सीक्यूटेबल फाइल का निर्माण होता है जिसका एक्सटेंशन (.exe) होता है |
» जावा पॉइंटर को सपोर्ट नहीं करता जबकि C ++ करता है |
चूँकि जावा एक सुरक्षित प्लेटफार्म प्रोवाइड करता है तथा प्रोग्राम में पॉइंटर का प्रयोग करना असुरक्षित होता है |
» जावा स्ट्रक्चर तथा यूनियन को सपोर्ट नहीं करता है जबकि C++ करता है |
स्ट्रक्चर तथा यूनियन की जगह क्लास तथा ऑब्जेक्ट को इम्प्लीमेंट करके बेहतर डेटा-स्ट्रक्चर इम्प्लीमेंटेशन पाया जा सकता है |
» जावा ऑपरेटर ओवरलोडिंग को सपोर्ट नहीं करता जबकि C++ करता है |
ऑपरेटर ओवरलोडिंग का प्रयोग करने से प्रोग्राम में अनिश्चितता आती है क्युकी एक ही ऑपरेटर अलग अलग परिस्थितियों में अलग तरह से व्यवहार करता है |
» जावा सिर्फ कन्स्ट्रक्टर को ही सपोर्ट करता है, डिस्ट्रक्टर को नहीं |
हालांकि finalize() फंक्शन का प्रयोग डिस्ट्रक्टर की तरह किया जा सकता है । Constructor का प्रयोग नए ऑब्जेक्ट के निर्माण में होता है तथा destructor का प्रयोग ऑब्जेक्ट को नष्ट करने में होता है |
» जावा डिफ़ॉल्ट आर्गुमेंट (default argument) को सपोर्ट नहीं करता जबकि C++ करता है |
डिफ़ॉल्ट आर्गुमेंट किसी फंक्शन में पास किया जाने वाला वह आर्गुमेंट है जिसे फंक्शन को कॉल करते समय पास करना जरुरी नहीं है क्युकी प्रोग्रामर इसकी वैल्यू फंक्शन को डिक्लेअर करते समय पहले से ही फिक्स करता है |
» जावा मल्टीपल इनहेरिटेंस को सपोर्ट नहीं करता जबकि C++ करता है |
हालाँकि जावा में मल्टीपल इनहेरिटेंस को मल्टी-लेवल तथा हैरर्चिकल (hierarchical) इनहेरिटेंस के माध्यम में इम्प्लीमेंट किया जा सकता है |
» जावा में ऑब्जेक्ट्स को सिर्फ रिफरेन्स के माध्यम से ही पास किया जा सकता है जबकि C++ में रिफरेन्स तथा वैल्यू दोनों के द्वारा पास किया जा सकता है |
» जावा typedef को सपोर्ट नहीं करता है |
» जावा goto statement को सपोर्ट नहीं करता है |
» जावा delete operator को सपोर्ट नहीं करता है |
» जावा स्वतः datatype को कन्वर्ट (automatic type conversions) नहीं करता है |
शौकिया कोडर्स के लिए cplusplus प्रोग्रामिंग नमूना कोड
ReplyDeleteएक या एक से अधिक फ़ाइल को एक फ़ाइल c ++ प्रोग्राम कोड में कॉपी करना