C++ Kya Hai in Hindi | What is C++ in Hindi ? |
C++ एक प्रोग्रामिंग लैंग्वेज है जो सामान्य-उद्देश्य वाली है और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) प्रतिमान का समर्थन करती है। इसका उपयोग विभिन्न अनुप्रयोगों और सॉफ़्टवेयर विकास में किया जाता है, जैसे डेस्कटॉप एप्लिकेशन, गेम, ऑपरेटिंग सिस्टम और एम्बेडेड सिस्टम। C++ में निम्न-स्तरीय प्रोग्रामिंग भी की जा सकती है, जो हार्डवेयर के साथ सीधे इंटरैक्ट करने में मदद करती है। C++, C लैंग्वेज से प्रेरित है, लेकिन इसमें OOP सुविधाएँ जोड़ी गई हैं, जिससे कोड पुन: प्रयोज्य और मॉड्यूलर डिज़ाइन की अनुमति मिलती है। "C++ क्या है" में, C++ एक शक्तिशाली और प्राचीन प्रोग्रामिंग लैंग्वेज है जिसका उपयोग आज भी कई प्रकार के विकास कार्यों में किया जाता है।
C++ language |
C++ Kya Hai in Hindi
कैसे शुरूआत करें?
C++ का इतिहास
C++ का इतिहास काफी रोचक है, और यह एक प्राचीन प्रोग्रामिंग लैंग्वज है जो आज भी बहुत लोकप्रिय है। इसका उदगम 1979 में हुआ था, जब डेनिश कंप्यूटर वैज्ञानिक बज़्ने स्ट्रॉस्ट्रुप ने इसे विकसित किया था। स्ट्रॉस्ट्रुप ने C++ को C प्रोग्रामिंग लैंग्वेज का एक्सटेंशन बनाने का इरादा किया था, ताकि उसमें ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) फीचर्स शामिल हो सकें।
C++ का नाम "C with Classes" था जब ये शुरूवात में बन गया। इसमे सी लैंग्वेज के सारे फीचर्स मौजूद थे, लेकिन हमारे पास कुछ और नए कॉन्सेप्ट थे, जैसे की क्लासेस और ऑब्जेक्ट्स, ऐड किये गये थे। बाद में, 1983 में इसका नाम बदल कर "सी++" रखा गया, जिसे ये इंडिकेट करता है कि ये एक इंक्रीमेंट ऑपरेटर है जो सी लैंग्वेज में भी इस्तमाल होता है।
C++ का मूल उद्देश्य कुशल सिस्टम प्रोग्रामिंग और गेम डेवलपमेंट के लिए एक लचीली भाषा प्रदान करना था। इसमें ओओपी के कॉन्सेप्ट के साथ-साथ लो-लेवल प्रोग्रामिंग भी किया जा सकता है, जिसके डेवलपर्स को पावर और कंट्रोल मिले।
1998 में, अंतर्राष्ट्रीय मानकीकरण संगठन (आईएसओ) ने C++ को एक आधिकारिक मानक बनाया, जिसे C++98 कहा गया। इसके बाद, 2003 में एक अपडेट आया जिसे C++03 के नाम से जाना जाता है। फिर 2011 में C++11 आया, जिसमें कोई नए फीचर शामिल थे। इसके बाद C++14 (2014) और C++17 (2017) भी आए, जिनमें नए संवर्द्धन और सुधार शामिल हैं।
शुरूआती संरचना
First Steps in C++
वैरिएबल्स और डेटा टाइप्स:
"Variables and Data Types:"
जब हम कोडिंग करते हैं, तो हमें डेटा को स्टोर और मैनिपुलेट करने के लिए वेरिएबल्स की आवश्यकता होती है। वेरिएबल्स उस आवश्यक स्थान को प्रदान करते हैं जहां हम डेटा को रख सकते हैं और इसे प्रोग्राम में उपयोग कर सकते हैं।
वेरिएबल्स (Variables):
वेरिएबल्स प्रोग्राम में डेटा को स्टोर करने के लिए एक प्रकार के स्थान के रूप में कार्य करते हैं। इन्हें एक नाम से चिन्हित किया जाता है जिससे हम प्रोग्राम में इसे पहचान सकते हैं। वेरिएबल्स का नाम एकत्रित या अलग-अलग अक्षरों, संख्याओं और अन्य विशेष चिह्नों से मिलकर बनता है। वेरिएबल्स को उनके डेटा टाइप के आधार पर विभाजित किया जा सकता है, जैसे कि:
int age = 25; // पूर्णांक (Integer) वेरिएबल float salary = 50000.50; // दशमलव (Float) वेरिएबल char grade = 'A'; // वर्ण (Character) वेरिएबल bool isPassed = true; // बूलियन (Boolean) वेरिएबल
डेटा टाइप्स (Data Types):
डेटा टाइप्स यह निर्दिष्ट करते हैं कि वेरिएबल किस प्रकार के डेटा को स्टोर कर सकता है और कैसे उसका व्यवहार होगा। कुछ सामान्य डेटा टाइप्स हैं:
- int (पूर्णांक): पूर्ण संख्याएं, जैसे 1, 100, -5
- float (दशमलव): दशमलव संख्याएं, जैसे 3.14, -0.5
- char (वर्ण): एकल अक्षर, जैसे 'A', '$'
- bool (बूलियन): सत्य या असत्य, जैसे true, false
ये विभिन्न डेटा टाइप्स हैं जो हमें विभिन्न प्रकार के डेटा को स्टोर करने में मदद करते हैं और इस प्रकार हमें अपनी आवश्यकताओं के अनुसार उपयोग करना चाहिए।
ऑपरेटर्स और एक्सप्रेशन्स:
ऑपरेटर्स (Operators):
ऑपरेटर्स प्रोग्रामिंग में विभिन्न कार्रवाईयों को करने के लिए प्रयुक्त होते हैं। इनमें शामिल हैं:
अरिथमेटिक ऑपरेटर्स: + (जोड़ना), - (घटाना), * (गुणा), / (भाग), % (मोड्यूलस)
तुलना ऑपरेटर्स: == (बराबर), != (असमान), < (कम), > (अधिक), <= (कम या बराबर), >= (अधिक या बराबर)
लॉजिकल ऑपरेटर्स: && (और), || (या), ! (नहीं)
असाइनमेंट ऑपरेटर्स: = (समर्पित करना), += (जोड़ कर समर्पित करना), -= (घटाना और समर्पित करना), *= (गुणा कर समर्पित करना), /= (भाग कर समर्पित करना), %= (मोड्यूलस कर समर्पित करना)
इंक्रीमेंट और डेक्रीमेंट ऑपरेटर्स: ++ (इंक्रीमेंट), -- (डेक्रीमेंट)
बिट्वाइज ऑपरेटर्स: & (बिटवाइज और), | (बिटवाइज या), ^ (बिटवाइज जोड़), ~ (बिटवाइज नॉट), << (बिटवाइज बाएं स्थानांतरण), >> (बिटवाइज दाएं स्थानांतरण)
एक्सप्रेशन्स (Expressions):
एक्सप्रेशन्स विभिन्न ऑपरेटर्स का उपयोग करके एक व्याकुल्पन को निर्दिष्ट करने के लिए उपयोग होते हैं। ये एक व्याकुल्पन या मान को प्रदान करते हैं। उदाहरण के लिए:
int a = 5;
int b = 3;
// अरिथमेटिक एक्सप्रेशन
int sum = a + b;
int difference = a - b;
int product = a * b;
float quotient = (float)a / b;
// भागफल को सही तरीके से प्राप्त करने के लिए एक ऑपरेटन्ड को float में बदला गया है // तुलना एक्सप्रेशन bool isEqual = (a == b); bool isNotEqual = (a != b); bool isGreater = (a > b); bool isLessOrEqual = (a <= b); // लॉजिकल एक्सप्रेशन bool logicalAnd = (a > 0) && (b > 0); bool logicalOr = (a > 0) || (b > 0); bool logicalNot = !(a > 0); // असाइनमेंट एक्सप्रेशन a += 2; // a को 2 बढ़ाना b *= 3; // b को 3 गुणा करना
ऑपरेटर्स और एक्सप्रेशन्स का उपयोग करके हम प्रोग्रामिंग में विभिन्न क्रियाएं कर सकते हैं और विभिन्न मानों को एक-दूसरे के साथ संबंधित कर सकते हैं।
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (Object-Oriented Programming in C++)
क्लासेस और ऑब्जेक्ट्स:
क्लासेस (Classes):
क्लास एक ऐसा निर्दिष्टता है जिसमें डेटा और उस डेटा पर कार्रवाई करने वाले फ़ंक्शन्स शामिल होते हैं। क्लास एक ब्लूप्रिंट की भूमिका निभाता है, जिससे हम एक या एक से अधिक ऑब्जेक्ट्स बना सकते हैं।
उदाहरण के लिए:
// एक क्लास बनाएं
class Car {
public:
// डेटा मैम्बर्स (गुप्त)
string brand;
int year;
// कंस्ट्रक्टर (ऑब्जेक्ट बनाते समय कॉल होने वाला फ़ंक्शन)
Car(string b, int y)
{
brand = b;
year = y;
}
// फ़ंक्शन (कार्रवाई करने वाला)
void displayInfo()
{
cout << "Brand: " << brand << ", Year: " << year << endl;
}
};
ऑब्जेक्ट्स (Objects):
ऑब्जेक्ट क्लास की एक एकजीवन इंस्तान्स होता है, जिससे हम क्लास में निर्दिष्ट डेटा और फ़ंक्शन का उपयोग कर सकते हैं। ऑब्जेक्ट बनाने के लिए हमें क्लास का एक उदाहरण बनाना होता है।
उदाहरण के लिए:
// क्लास का उदाहरण (ऑब्जेक्ट) बनाएं
Car myCar("Toyota", 2022);
// ऑब्जेक्ट के फ़ंक्शन का उपयोग करें
myCar.displayInfo();
इसका परिणाम होगा:
Brand: Toyota, Year: 2022
यहां, "Car" क्लास एक निर्दिष्टता है जिसमें "brand" और "year" नामक डेटा मेम्बर्स और "displayInfo" नामक एक फ़ंक्शन हैं। "myCar" एक ऑब्जेक्ट है जिसमें यही क्लास के डेटा मेम्बर्स के लिए मौजूद डेटा होता है और हम "displayInfo" फ़ंक्शन का उपयोग करके उस ऑब्जेक्ट की जानकारी प्रदर्शित करते हैं।
क्लासेस और ऑब्जेक्ट्स की अच्छी समझ प्रोग्रामिंग में अधिक संरचितता और डेटा को संगठित रूप से प्रबंधित करने में मदद करती हैं।
इनहेरिटेंस और पॉलीमॉर्फिज़म:
इनहेरिटेंस (Inheritance):
इनहेरिटेंस एक विशेषता है जो एक क्लास को दूसरी क्लास की गुणधर्मों और प्रणालियों के साथ विरासत में लेने की अनुमति देती है। यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में एक महत्वपूर्ण अस्तर है, जिससे कोड को पुनर्गुणता और पुनरब्रांडिंग करने में मदद मिलती है।
उदाहरण के लिए:
// एक मौजूदा क्लास
class Animal {
public:
void eat() {
cout << "Animal is eating" << endl;
}
};
// एक इनहेरिटेड (विरासत में लिया गया) क्लास
class Dog : public Animal {
public:
void bark() {
cout << "Dog is barking" << endl;
}
};
पॉलीमॉर्फिज़म (Polymorphism):
पॉलीमॉर्फिज़म एक विशेषता है जिसमें एक ही नाम के लिए विभिन्न रूप हो सकते हैं। यह रनटाइम पर या कॉम्पाइल टाइम पर हो सकता है और इसका उपयोग कोड की बेहतर स्थिति करने के लिए किया जाता है।
उदाहरण के लिए:
// एक वर्ग
class Shape
{public: virtual void draw() { cout << "Drawing a shape" << endl; } }; // इस से विरासत में लेने वाला वर्ग class Circle : public Shape { public: void draw() override { cout << "Drawing a circle" << endl; } }; // इस से विरासत में लेने वाला वर्ग class Square : public Shape { public:
void draw() override { cout << "Drawing a square" << endl; } };
यहां, "Circle" और "Square" वर्गें "Shape" वर्ग से विरासत में हैं और वे इसे अधिविकसित करके अपने तरीके से "draw" फ़ंक्शन का उपयोग करती हैं। जब ऑब्जेक्ट्स को उनकी बाट से कॉल किया जाता है, तो पॉलीमॉर्फिज़म का उपयोग होता है जिससे उपयोगकर्ता एक ही नाम के फ़ंक्शन का उपयोग कर सकता है और यह अनुसरण करता है कि वह वर्ग कौन सा है।
Functions and Classes in C++
फ़ंक्शन्स (Functions):
फ़ंक्शन एक सुचीना है जो कुछ कार्य को संपादित करने के लिए एक या एक से अधिक टास्क को एकत्र करती है। फ़ंक्शन को एक नाम दिया जाता है और इसमें पैरामीटर्स और एक वापसी मान हो सकती है।
उदाहरण के लिए:
// एक सामान्य फ़ंक्शन
void welcomeMessage() {
cout << "स्वागत है! आपका स्वागत है।" << endl;
}
// पैरामीटर सहित एक फ़ंक्शन
int addNumbers(int a, int b) {
return a + b;
}
// वापसी मान सहित एक फ़ंक्शन
double squareRoot(double x) {
return sqrt(x);
}
क्लासेस (Classes):
क्लास एक विशेषता है जो डेटा और उस डेटा पर कार्रवाई करने के लिए फ़ंक्शन्स को एकत्र करती है। यह एक वर्गीकृत डेटा टाइप का एक स्थान होता है जिससे हम ऑब्जेक्ट्स बना सकते हैं।
उदाहरण के लिए:
// एक क्लास बनाएं
class Rectangle {
private:
int length;
int width;
public:
// कंस्ट्रक्टर
Rectangle(int l, int w) {
length = l;
width = w;
}
// फ़ंक्शन जो क्षेत्रफल लौटाता है
int calculateArea() {
return length * width;
}
};
इसके बाद, हम इस क्लास का उपयोग करके ऑब्जेक्ट्स बना सकते हैं:
// ऑब्जेक्ट बनाएं और कंस्ट्रक्टर का उपयोग करें
Rectangle myRectangle(5, 10);
// फ़ंक्शन का उपयोग करें
int area = myRectangle.calculateArea();
cout << "क्षेत्रफल: " << area << endl;
यह एक सरल उदाहरण है जो फ़ंक्शन्स और क्लासेस का उपयोग दिखाता है C++ में। फ़ंक्शन्स हमें कुशल प्रोग्रामिंग करने में मदद करते हैं जबकि क्लासेस डेटा और उस पर कार्रवाई करने के लिए एक विनम्र और व्यवस्थित तरीके से संगठित होती हैं।
0 टिप्पणियाँ