Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में डेटा हाइडिंग और एनकैप्सुलेशन का उपयोग करके छात्र जानकारी रखने का प्रोग्राम


मान लीजिए हम डेटा हाइडिंग और एनकैप्सुलेशन के साथ छात्र डेटा प्रकार बनाना चाहते हैं। छात्रों में first_name, last_name, age और class आइटम होने चाहिए, लेकिन ये वेरिएबल सीधे एक्सेसिबल नहीं हो सकते। हमें get_firstname(), set_firstname(), get_age(), set_age() जैसे कुछ फंक्शन परिभाषित करने होंगे ताकि वेरिएबल मान प्राप्त और अपडेट कर सकें, और छात्रों के विवरण को इस प्रारूप में प्रदर्शित करने के लिए एक to_string() फंक्शन: (age, first_name, last_name, class)। कंसोल से चार पैरामीटर इनपुट के रूप में लें और उन्हें हमारे द्वारा परिभाषित सेटर मेथड का उपयोग करके सेट करें, और प्रत्येक आइटम को गेटर मेथड का उपयोग करके दिखाएं और अंत में to_string() मेथड का उपयोग करके।

उदाहरण के लिए, यदि इनपुट है:

priyam kundu 16 10

तो आउटपुट होगा:

16 priyam kundu 10 (16, priyam, kundu, 10)

समाधान दृष्टिकोण

इस समस्या को हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:

  • first_name, last_name टाइप string और age, cl टाइप integer के साथ एक क्लास परिभाषित करें
  • सभी विशेषताओं के लिए गेटर फंक्शन परिभाषित करें
  • सभी विशेषताओं के लिए सेटर फंक्शन परिभाषित करें
  • आउटपुट प्रारूप से मेल खाने वाला फॉर्मेटेड स्ट्रिंग बनाने के लिए string-stream ऑब्जेक्ट का उपयोग करके to_string() फंक्शन परिभाषित करें
  • मुख्य विधि से:
    • प्रत्येक पंक्ति पढ़ें और first_name, last_name, age, cl को क्रमशः स्टोर करें
    • क्लास मेंबर्स में ये मान सेट करने के लिए सेटर फंक्शन कॉल करें
    • गेटर मेथड का उपयोग करके सभी विशेषताओं को प्रिंट करें
    • to_string() फंक्शन का उपयोग करके छात्र जानकारी को इस प्रारूप में प्रदर्शित करें: (age, first_name, last_name, cl)

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include <iostream> #include <sstream> using namespace std; class Student{     private:     int age, cl;     string first_name, last_name;     public:     int get_age(){return age;}     int get_class(){return cl;}     string get_firstname(){return first_name;}     string get_lastname(){return last_name;}     void set_age(int a){age = a;}     void set_class(int c){cl = c;}     void set_firstname(string fn){first_name = fn;}     void set_lastname(string ln){last_name = ln;}     string to_string(){         stringstream ss;         ss << "(" << age << ", " << first_name << ", " << last_name << ", " << cl << ")";                 return ss.str();     } }; int main() {     Student stud;     int age, cl;     string first_name, last_name;     cin >> first_name >> last_name >> age >> cl;     stud.set_age(age);     stud.set_class(cl);     stud.set_firstname(first_name);     stud.set_lastname(last_name);     cout << stud.get_age() << endl;     cout << stud.get_firstname() << endl;     cout << stud.get_lastname() << endl;     cout << stud.get_class() << endl;     cout << endl << stud.to_string(); } 

इनपुट

priyam kundu 16 10

आउटपुट

16 priyam kundu 10 (16, priyam, kundu, 10)
  1. C++ प्रोग्राम का उपयोग करके प्रोग्राम कैसे लॉन्च करें? C++ प्रोग्राम का उपयोग करके प्रोग्राम कैसे लॉन्च करें?

    सिस्टम कमांड का उपयोग करके एप्लिकेशन लॉन्च करना यहां हम देखेंगे कि C++ प्रोग्राम का उपयोग करके नोटपैड जैसे किसी थर्ड-पार्टी एप्लिकेशन को कैसे शुरू किया जाए। यह प्रोग्राम बहुत सरल है; हम कमांड प्रॉम्प्ट कमांड का उपयोग करके यह कार्य कर सकते हैं। हम system() फ़ंक्शन के अंदर एप्लिकेशन नाम पास करेंगे। य

  1. - C++ में संरचना का उपयोग करके जानकारी संग्रहीत और प्रदर्शित करने का प्रोग्राम

    एक संरचना विभिन्न डेटा प्रकारों के आइटम्स का संग्रह है। यह विभिन्न डेटा प्रकार के रिकॉर्ड्स के साथ जटिल डेटा संरचनाएं बनाने में बहुत उपयोगी है। एक संरचना को struct कीवर्ड से परिभाषित किया जाता है। संरचना का एक उदाहरण निम्नलिखित है: struct employee {    int empID;    char name[50]

  1. - C++ में रिकर्सन का उपयोग करके G.C.D. (महत्तम समापवर्तक) खोजने का प्रोग्राम

    दो संख्याओं का महत्तम समापवर्तक (GCD) वह सबसे बड़ी संख्या है जो दोनों को विभाजित करती है। उदाहरण के लिए: मान लें हमारे पास निम्नलिखित दो संख्याएँ हैं: 45 और 27 63 = 7 * 3 * 3 42 = 7 * 3 * 2 तो, 63 और 42 का GCD 21 है रिकर्सन का उपयोग करके दो संख्याओं का GCD खोजने का एक प्रोग्राम निम्नलिखित है। उदाहरण