This blog is about providing theory as well as simple executable codes of different programming languages such as java, C, C++, and web programming, etc. This blog will be helpful to the IT students to learn about programming.

Thursday, February 16, 2023

Explain features of OOP. Write a program to add two objects of a class using friend function. The class consists of hour and minute as its data member, input(), sum() and output() as its member functions.

 Object-Oriented programming (OOP) is a programming paradigm based on the concept of objects, which are instances of classes that encapsulate data and behavior. OOP provides a number of features that make it a popular choice for developing large, complex software systems. Here are some of the key features of OOP:

  1. Encapsulation: OOP allows you to encapsulate the implementation details of an object and hide them from the outside world. This helps to ensure that the object is used correctly and can be modified without affecting other parts of the program.
  2. Abstraction: OOP provides a high level of abstraction by allowing you to create complex data structures and algorithms. Abstraction allows you to simplify the complexity of your program by hiding unnecessary details an focusing on what is important.
  3. Inheritance: OOP allows you to create new classes that are based on existing classes. This is known as inheritance, and it allows you to reuse existing code and create more specialized classes.
  4. Polymorphism: OOP allows you to create functions that can take objects of different types and perform different actions depending on the type of object. This is known as polymorphism, and it allows you to write more flexible and reusable code.

/*a program to add two objects of a class using friend function. The class consists of hour and minute as its data member, input(), sum() and output() as its member functions.*/

#include <iostream>
using namespace std;

class Time {
private:
    int hour;
    int minute;
public:
    Time() {
        hour = 0;
        minute = 0;
    }
    void input() {
        cout << "Enter the hour: ";
        cin >> hour;
        cout << "Enter the minute: ";
        cin >> minute;
    }
    void output() {
        cout << "Time is " << hour << " hours " << minute << " minutes." << endl;
    }
    friend Time sum(Time t1, Time t2);
};

Time sum(Time t1, Time t2) {
    Time t3;
    t3.hour = t1.hour + t2.hour;
    t3.minute = t1.minute + t2.minute;
    if (t3.minute >= 60) {
        t3.hour++;
        t3.minute -= 60;
    }
    return t3;
}

int main() {
    Time t1, t2, t3;
    cout << "Enter time 1: " << endl;
    t1.input();
    cout << "Enter time 2: " << endl;
    t2.input();
    t3 = sum(t1, t2);
    t1.output();
    t2.output();
    t3.output();
    return 0;
}

In this program, we define a class called "Time" that contains two private data members: 'hour' and 'minute'. We also define three member functions: 'input()', 'output()' and a friend function called 'sum()'.

The 'input()' function takes user input for the 'hour' and 'minute' data members. The 'output()' function outputs the 'hour' and 'minute' values.

The 'sum()' function is defined as a friend function, which means that it can access the private data members of the 'Time' class. It takes two objects of type "Time" as arguments and returns a new 'Time' object that is the sum of the two input objects.

In the 'main()' function, we create three 'Time' objects 't1', 't2' and 't3'. We call the 'input()' function to take user input for 't1' and 't2', and we call the 'sum()' function to add the two objects and store the result in 't3'. Finally, we output the three 'Time' objects using  the 'output()' function.

No comments:

Post a Comment

If you have any doubts, please let me know

Slider Widget