C++ Classes and Objects - W3 Coding Club

    access इस tutorial(ट्यूटोरियल) में, हम Object(ऑब्जेक्ट्स) और classes(क्लासेस) के बारे में सीखेंगे और Examples की सहायता से C++ में उनका उपयोग कैसे करें।

    पिछले tutorial(ट्यूटोरियल) में, हम functions(फंक्शन्स) और variables(वेरिएबल्स) के बारे में सीख चुके हैं। कभी-कभी related functions और data को एक ही स्थान पर रखना वांछनीय होता है ताकि यह logical और काम करने में आसान हो।

    मान लीजिए, हमें एक आयताकार कमरे की length(लंबाई), breadth(चौड़ाई) और height(ऊंचाई) को store करने और उसके area (क्षेत्रफल) और volume(आयतन) को calculate (गणना) करने की आवश्यकता है।

    इस कार्य को करने  के लिए, हम तीन variable बना सकते हैं, कह सकते हैं, length,breadth,और  height के साथ calculateArea() और calculateVolume() function

    हालाँकि, C++ में, अलग-अलग variable(वेरिएबल्स) और function(फ़ंक्शंस) बनाने के बजाय, हम इन related data और function को एक ही स्थान पर ( ऑब्जेक्ट्स बनाकर ) wrap (रैप) भी कर सकते हैं। इस programming paradigm को object-oriented programming(ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग) के रूप में जाना जाता है।

    लेकिन इससे पहले कि हम Object (ऑब्जेक्ट) बना सकें और उन्हें C++ में इस्तेमाल कर सकें, हमें सबसे पहले classes(क्लासेस) के बारे में सीखना होगा ।


    C++ Class

    एक class object(वस्तु) के लिए एक blueprint(खाका) है।
    हम एक class को एक घर के sketch या prototype( स्केच या प्रोटोटाइप) के रूप में सोच सकते हैं। इसमें फर्श, दरवाजे, खिड़कियां आदि के बारे में सभी विवरण शामिल हैं। इन विवरणों के आधार पर हम घर बनाते हैं। घर object है।

    Create a class

    class के नाम के आगे classकीवर्ड का उपयोग करके C++ में एक क्लास को define किया जाता है ।
    class के body को curly brackets{} के अंदर define किया गया है और अंत में semicolon;द्वारा terminate किया गया है।


    class className {
    // some data
    // some functions
    };

    For example


        class Room
        {
        public:
            double length;
            double breadth;
            double height;

            double calculateArea()
            {
                return length * breadth;
            }

            double calculateVolume()
            {
                return length * breadth * height;
            }
        };
       

    Explain:-

    यहां, हमने Roomनाम की  एक class  को Define की  है। 
    class  के अंदर declared variable  lengthbreadthऔर height data member के रूप में जाना जाता है । और, class  के अंदर declared functioncalculateArea()और calculateVolume()  member functions के रूप में जाना जाता है।



    C++ Objects

    एक Object एक class का एक उदाहरण है। जब एक class define की जाती है, तो कोई memory allocate नहीं की जाती है, लेकिन जब Object को instantiate किया जाता है (यानी एक Object बनाया जाता है) memory allocate की जाती है।

    Defining Class and Declaring Objects

    जैसा की हमने पहले देखा की C++ में एक क्लास को  classकीवर्ड  के बाद क्लास के नाम से Define किया जाता है और class के body को curly brackets{} के अंदर define किया गया है और अंत में semicolon;द्वारा terminate किया गया है। 

    Declaring Objects

    जब एक class को define किया जाता है, तो केवल Object के लिए specification define किया जाता है; कोई कोई memory  allocate नहीं की जाती है। class में define data(डेटा) और access functions(एक्सेस फ़ंक्शंस) का उपयोग करने के लिए, आपको Object(ऑब्जेक्ट) बनाने की आवश्यकता है।

    Syntax to Define Object in C++

      className objectVariableName;

    Example:-

    // sample function
    void sampleFunction() {
    // create objects
    Room room1, room2;
    }

    int main(){
    // create objects
    Room room3, room4;
    }

    Explain Example:-

    यहाँ, Room class के दो Object room1और room1rsampleFunction() में बनाया गया है । इसी प्रकार, Objects room3और room4mainमें बनाए गए हैं। 

    जैसा कि हम देख सकते हैं, हम प्रोग्राम के किसी भी function(फंक्शन) में class के Object(ऑब्जेक्ट) बना सकते हैं। हम class के भीतर या अन्य classes में भी एक class के Objects बना सकते हैं। साथ ही, हम एक ही class से जितने चाहें उतने Object बना सकते हैं।

    C++ Access Data Members and Member Functions

    data members और class के member functions को Object के साथ dot(‘.’)  Operator(ऑपरेटर) का उपयोग करके access किया जा सकता है। उदाहरण के लिए obj नाम का Object है और member functionprintName()को access (एक्सेस) करना चाहते हैं तो आपकोobj.printName()लिखना होगा । और यदि data members को access करना हो तो भी  इसी तरह से होगा 

    For Example:- 

    room2.calculateArea();
    इसी प्रकार data members को access करना हो तो 


    room1.length = 34;

    Example 1: Object and Class in C++ Programming


        // Program to illustrate the working of
        // objects and class in C++ Programming

        #include <iostream>
        using namespace std;

        // create a class
        class Room
        {

        public:
            double length;
            double breadth;
            double height;

            double calculateArea()
            {
                return length * breadth;
            }
            double calculateVolume()
            {
                return length * breadth * height;
            }
        };

        int main()
        {
            // create object of Room class
            Room room1;

            // assign values to data members
            room1.length = 42.5;
            room1.breadth = 30.8;
            room1.height = 19.2;

            // calculate and display the area and volume of the room
            cout << "Area of Room =  " << room1.calculateArea() << endl;
            cout << "Volume of Room =  " << room1.calculateVolume() << endl;
            return 0;
        }

    Output:-

    Area of Room = 1309
    Volume of Room = 25132.8

    Explain Example

    इस प्रोग्राम में हमने Roomclass और उसके ऑब्जेक्ट room1 का इस्तेमाल किया है room1 एक कमरे के क्षेत्रफल  और आयतन की गणना करने के लिए। main() में हमने length,breadth,और height
    को कुछ इस प्रकार assign किया गया हैं 

        room1.length = 42.5;
      room1.breadth = 30.8;
        room1.height = 19.2;

    फिर हमने फ़ंक्शन calculateArea()औरcalculateVolume()को आवश्यक calculationsकरने के लिए कॉल किया ।

    ध्यान दें !  प्रोग्राम में public कीवर्ड  का उपयोग किया गया हैं ।  इसका मतलब है कि Member Function   Public (सार्वजनिक) हैं और इसे  program मे  कहीं से भी access किया  जा सकता है। इस प्रकार  public कीवर्ड हैं  उसी  प्रकार एक   private कीवर्ड भी  हैं  जिसे access specifier कहते  हैं इस का use data hiding मे किया जाता हैं इस के बारे मे हम अगले chapter मे जानेंगे 

    Example 2: Accessing Data Members


        // C++ program to demonstrate
        // accessing of data members

        #include <iostream>
        #include <conio.h>
        using namespace std;
        class info
        {
            // Access specifier
        public:
            // Data Members
            string myName;

            // Member Functions()
            void printname()
            {
                cout << "My Name is: " << myName;
            }
        };

        int main()
        {

            // Declare an object of class info
            info obj1;

            // accessing data member
            obj1.myName = "Nirma Kanwar";

            // accessing member function
            obj1.printname();
            return 0;
        }

    Output:- 

    My Name is: Nirma Kanwar

    Example 2: Accessing Members Functions

        // C++ program to demonstrate function
        // declaration outside class
        #include <iostream>
        #include <conio.h>
        using namespace std;
        class myclass
        {
        public:
            string myName;
            int id;

            // printname is not defined inside class definition
            void printname();

            // printid is defined inside class definition
            void printid()
            {
                cout << "My id is: " << id;
            }
        };

        // Definition of printname using scope resolution operator ::
        void myclass::printname()
        {
            cout << "My Name is: " << myName;
        }
        int main()
        {

            myclass obj1;
            obj1.myName = "Mukesh Kumar";
            obj1.id = 15;

            // call printname()
            obj1.printname();
            cout << endl;

            // call printid()
            obj1.printid();
            return 0;
        }

    Output:-

    My Name is: Mukesh kumar
    My id is: 15   

    Post a Comment

    2 Comments