Pages

C++ Programming Tutorials - 18 ( Nesting of Member Functions )

tut22.cpp=
// This tut contains OOPs Recap & Nesting of Member Functions in C++

//-----------------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------

// OOPs - Classes and objects ----->

// C++ --> initially called --> C with classes by stroustroup
// class --> extension of structures (in C)
// structures had limitations
//      - members are public
//      - No methods
// classes --> structures + more
// classes --> can have methods and properties
// classes --> can make few members as private & few as public
// structures in C++ are typedefed
// you can declare objects along with the class declarion like this:
/* class Employee{
            // Class definition
        } harry, rohan, lovish; */
// harry.salary = 8 makes no sense if salary is private

// Nesting of member functions

//-----------------------------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------------------------------------

#include<iostream>
#include<string>
using namespace std;

class binary{
    private: 
    string s;

    public:
    void read();
    void chk_binary();
    void display();
    void ones_compliment();
    void display_ones_complement();
};

//-----------------------------------------------------------------------------------------------------------------------------

void binary :: read(void){
    cout<<"Enter a binary number :"<< endl;
    cin>>s;  
}

//-----------------------------------------------------------------------------------------------------------------------------

void binary :: chk_binary(void){
    for (int i = 0i < s.length(); i++)
    {
        if ((s.at(i)!='1') && (s.at(i)!='0') )
        {
            cout<<"Invalid Binary Number"<<endl;
            exit(0);
        } 
    }

}

//-----------------------------------------------------------------------------------------------------------------------------

void binary :: display(void){
    cout<<"Displaying your binary number :"<<endl;
    for (int i = 0i < s.length(); i++)
    {
        cout<< s.at(i);
    }
        cout<<endl;
}

//-----------------------------------------------------------------------------------------------------------------------------

void binary :: ones_compliment(void){
    for (int i = 0i < s.length(); i++)
    {
        if ((s.at(i) == '1'))
        {
            s.at(i)='0';
        }
        else
        {
            s.at(i)='1';
        }  
    }  
}

//-----------------------------------------------------------------------------------------------------------------------------

void binary::display_ones_complement(void)
{
    cout<<"Displaying your One's complement of binary number : "<<endl;
    for (int i = 0i < s.length(); i++)
    {
        cout << s.at(i);
    }
    cout<<endl;
}

//-----------------------------------------------------------------------------------------------------------------------------

int main(){
    binary b;
    b.read();
    b.chk_binary();
    b.display();
    b.ones_compliment();
    b.display_ones_complement();

    return 0;
}

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Top 10 Python Packages Every Developer Should Learn

Top 10 Python Packages Every Developer Should Learn There are more than  200,000 Python packages  in the world (and that’s just counting tho...