PGDCA Assignment objects-oriented Programming with C++ 10 answer in Hindi awesome
PGDCA Assignment objects-oriented Programming with C++
Table of Contents
Q.1 Object oriented Programming System क्या होता है? Oops के features को विस्तारपूर्वक समझाइये।
Object Oriented Programming (OOP):
Object Oriented Programming एक प्रोग्रामिंग पैरेडाइम है जिसमें प्रोग्राम को ऑब्जेक्ट्स के चारों ओर व्यवस्थित किया जाता है। ऑब्जेक्ट्स डेटा (attributes) और कार्यक्षमता (methods) का संग्रह होते हैं। OOP का मुख्य उद्देश्य कोड को अधिक संगठित, पुन: प्रयोज्य और बनाए रखने में आसान बनाना है।
OOP के Features:
- Encapsulation (संकलन):
- डेटा और कार्यों को एक इकाई में बांधना। इससे डेटा को सुरक्षित रखा जाता है और इसे बाहरी दुनिया से छिपाया जाता है।
- उदाहरण: एक क्लास जिसमें प्राइवेट डेटा और पब्लिक मेथड्स होते हैं जो उस डेटा को संशोधित करते हैं।
- Abstraction (अवबोधन):
- केवल आवश्यक जानकारी को प्रदर्शित करना और जटिलता को छिपाना। इससे उपयोगकर्ता को वस्तु के कार्यों के बारे में जानने की आवश्यकता नहीं होती।
- उदाहरण: एक कार का स्टीयरिंग व्हील उपयोगकर्ता को गाड़ी चलाने की अनुमति देता है, लेकिन इसके आंतरिक यांत्रिकी को नहीं दिखाता।
- Inheritance (उत्तराधिकार):
- एक नई क्लास (उत्तरी क्लास) मौजूदा क्लास (मूल क्लास) से गुण और कार्यक्षमता विरासत में लेती है। इससे कोड की पुन: उपयोगिता बढ़ती है।
- उदाहरण: यदि हम एक
Animal
क्लास बनाएँ और उसके अंतर्गतDog
औरCat
क्लास बनाएं, तोDog
औरCat
क्लासAnimal
से विशेषताएँ विरासत में लेंगी।
- Polymorphism (बहु रूपता):
- एक ही फ़ंक्शन या मेथड के विभिन्न रूपों का समर्थन करना। यह ओवरराइडिंग और ओवरलोडिंग के माध्यम से प्राप्त किया जाता है।
- उदाहरण: एक ही नाम के फ़ंक्शन को विभिन्न पैरामीटर्स के साथ परिभाषित करना, जैसे
add(int a, int b)
औरadd(double a, double b)
।
Q.2 C++ में किसी प्रोग्राम के बनाने, Compile करने एवं Execute करने के प्रोसेस को समझाइये।
- बनाना:
- C++ कोड को एक टेक्स्ट एडिटर (जैसे Visual Studio, Code::Blocks, या Notepad++) में लिखें और इसे
.cpp
एक्सटेंशन के साथ सेव करें। उदाहरण:program.cpp
।
- C++ कोड को एक टेक्स्ट एडिटर (जैसे Visual Studio, Code::Blocks, या Notepad++) में लिखें और इसे
- Compile करना:
- C++ कंपाइलर (जैसे g++) का उपयोग करके कोड को संकलित करें।
- उदाहरण:bashCopy code
g++ program.cpp -o program
- यह चरण कोड की त्रुटियों की जांच करता है और एक ऑब्जेक्ट फ़ाइल उत्पन्न करता है।
- Linking:
- ऑब्जेक्ट फ़ाइल को अन्य लाइब्रेरी फ़ाइलों के साथ लिंक किया जाता है ताकि एक Executable फ़ाइल बनाई जा सके।
- Execute करना:
- Executable फ़ाइल को चलाएँ।
- उदाहरण:bashCopy code
./program # Linux/Unix पर program.exe # Windows पर
Q.3 Array क्या होता है? 3×3 के दो Matrix के Multiplication के लिये प्रोग्राम लिखिए।
Array:
Array एक डेटा संरचना है जो समान प्रकार के तत्वों का एक संग्रह होता है। यह एक स्थिर आकार का होता है और इसे एक साथ एक ही नाम के अंतर्गत व्यवस्थित किया जाता है।
C++ प्रोग्राम:
#include <iostream>
using namespace std;
int main() {
int a[3][3], b[3][3], result[3][3] = {0};
// पहले मैट्रिक्स के लिए इनपुट
cout << "Enter elements of 1st matrix (3x3):" << endl;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
cin >> a[i][j];
// दूसरे मैट्रिक्स के लिए इनपुट
cout << "Enter elements of 2nd matrix (3x3):" << endl;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
cin >> b[i][j];
// मैट्रिक्स का गुणन
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
result[i][j] += a[i][k] * b[k][j];
}
}
}
// परिणाम प्रदर्शित करना
cout << "Resultant Matrix:" << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << result[i][j] << " ";
}
cout << endl;
}
return 0;
}
Q.4 C++ में Constructor को उचित उदाहरण सहित समझाइये।
Constructor:
Constructor एक विशेष प्रकार की विधि है जो एक क्लास के ऑब्जेक्ट के निर्माण के समय स्वचालित रूप से कॉल होती है। इसका नाम क्लास के नाम के समान होता है और इसका उपयोग ऑब्जेक्ट के प्रारंभिक मान सेट करने के लिए किया जाता है।
उदाहरण:
#include <iostream>
using namespace std;
class Rectangle {
int width, height;
public:
// Constructor
Rectangle(int w, int h) {
width = w;
height = h;
}
int area() {
return width * height;
}
};
int main() {
Rectangle rect(10, 5); // ऑब्जेक्ट का निर्माण करते समय Constructor कॉल होता है
cout << "Area: " << rect.area() << endl;
return 0;
}
Q.5 Function overloading क्या होता है उदाहरण सहित समझाइये।
Function Overloading:
Function overloading एक विशेषता है जिसमें एक ही नाम के विभिन्न फ़ंक्शन होते हैं, जो विभिन्न पैरामीटर्स के साथ कार्य करते हैं। यह कोड की पठनीयता और उपयोगिता को बढ़ाता है।
उदाहरण:
#include <iostream>
using namespace std;
class Math {
public:
// Integer Addition
int add(int a, int b) {
return a + b;
}
// Double Addition
double add(double a, double b) {
return a + b;
}
};
int main() {
Math math;
cout << "Integer Addition: " << math.add(5, 10) << endl; // कॉल फॉर इंटीजर
cout << "Double Addition: " << math.add(5.5, 10.5) << endl; // कॉल फॉर डबल
return 0;
}
Q.6 निम्न को संक्षिप्त में समझाइये :-
a. New Operator:
- यह डायनामिक मेमोरी आवंटन के लिए उपयोग किया जाता है। यह एक ऑब्जेक्ट या डेटा को डायनामिक मेमोरी में आवंटित करता है और एक पॉइंटर रिटर्न करता है।
- उदाहरण:
int* ptr = new int;
b. Destructor:
- Destructor एक विशेष फ़ंक्शन होता है जो ऑब्जेक्ट के नष्ट होने पर कॉल होता है। इसका नाम क्लास के नाम के समान होता है, लेकिन इसके आगे एक टिल्ड (
~
) होता है। - उदाहरण:cppCopy code
class Sample { public: ~Sample() { // Destructor // Cleanup code } };
c. Friend Function:
- Friend function एक विशेष फ़ंक्शन होता है जिसे किसी क्लास के प्राइवेट और प्रोटेक्टेड मेम्बर्स तक पहुँचने की अनुमति होती है। यह क्लास के बाहर परिभाषित होता है लेकिन क्लास के भीतर के डेटा तक पहुँच सकता है।
- उदाहरण:cppCopy code
class Box { int width; public: friend void printWidth(Box b); }; void printWidth(Box b) { cout << "Width: " << b.width << endl; }
Q.7 Virtual Function क्या है? Virtual function को उदाहरण सहित समझाइये।
Virtual Function:
Virtual function एक विशेष प्रकार की फ़ंक्शन होती है जो एक बेस क्लास में परिभाषित होती है और इसे डेरिवेटिव क्लास में ओवरराइड किया जा सकता है। यह रuntime polymorphism की अनुमति देती है।
उदाहरण:
#include <iostream>
using namespace std;
class Base {
public:
virtual void show() { // Virtual function
cout << "Base class show function called." << endl;
}
};
class Derived : public Base {
public:
void show() { // Override
cout << "Derived class show function called." << endl;
}
};
int main() {
Base* b; // Base class pointer
Derived d; // Derived class object
b = &d;
// Virtual function, late binding
b->show(); // Calls Derived's show()
return 0;
}
Q.8 C++ में Inheritance क्या होता है? Multiple inheritance को उदाहरण सहित समझाइये।
Inheritance:
Inheritance एक OOP की विशेषता है जिसमें एक क्लास (बेस या मूल क्लास) की विशेषताएँ दूसरी क्लास (डेरिवेटिव या उप क्लास) द्वारा विरासत में ली जाती हैं। यह कोड पुन: उपयोग की सुविधा प्रदान करता है।
Multiple Inheritance:
जब एक डेरिवेटिव क्लास एक से अधिक बेस क्लास से विशेषताएँ विरासत में लेती है, तो इसे Multiple Inheritance कहते हैं।
उदाहरण:
#include <iostream>
using namespace std;
class A {
public:
void displayA() {
cout << "Class A" << endl;
}
};
class B {
public:
void displayB() {
cout << "Class B" << endl;
}
};
// Multiple Inheritance
class C : public A, public B {
public:
void displayC() {
cout << "Class C" << endl;
}
};
int main() {
C obj;
obj.displayA(); // Class A
obj.displayB(); // Class B
obj.displayC(); // Class C
return 0;
}
Q.9 Polymorphism के Concept को समझाइये एवं Early Binding व late Binding में अंतर लिखिए।
Polymorphism:
Polymorphism एक OOP का सिद्धांत है जो एक फ़ंक्शन या मेथड के विभिन्न रूपों का समर्थन करता है। यह प्रोग्रामिंग में लचीलापन और पुन: उपयोगिता प्रदान करता है। यह मुख्यतः दो प्रकार का होता है: Compile-time (Early Binding) और Run-time (Late Binding)।
Early Binding:
Early binding में, फ़ंक्शन का चयन कंपाइलिंग समय पर किया जाता है। यह फ़ंक्शन ओवरलोडिंग के माध्यम से प्राप्त होता है।
Late Binding:
Late binding में, फ़ंक्शन का चयन रनटाइम पर किया जाता है। यह वर्चुअल फ़ंक्शन के माध्यम से प्राप्त होता है।
उदाहरण:
- Early Binding:cppCopy code
void add(int a, int b) { /*...*/ } void add(double a, double b) { /*...*/ }
- Late Binding:cppCopy code
class Base { public: virtual void show() { /*...*/ } };
Q.10 C++ में इनपुट, आऊटपुट सिस्टम को उदाहरण सहित समझाइये।
C++ Input/Output System:
C++ में इनपुट और आउटपुट के लिए iostream
लाइब्रेरी का उपयोग किया जाता है। cin
और cout
का उपयोग क्रमशः इनपुट और आउटपुट के लिए किया जाता है।
उदाहरण:
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Enter a number: "; // Output
cin >> num; // Input
cout << "You entered: " << num << endl; // Output
return 0;
}
यह प्रोग्राम उपयोगकर्ता से एक संख्या लेता है और फिर उसे प्रदर्शित करता है। cin
का उपयोग उपयोगकर्ता से डेटा लेने के लिए किया जाता है और cout
का उपयोग डेटा प्रदर्शित करने के लिए किया जाता है।