Skip to main content

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.

Comments

Popular posts from this blog

Write a program using the algorithm count() to count how many elements in a container have a specified value.

 Here's an example program using the count() algorithm to count the number of occurrences of a specific value in a vector container: #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() {     vector<int> numbers = { 2, 5, 3, 7, 8, 5, 1, 5, 4 };          // count the number of occurrences of the value 5 in the vector     int count = count(numbers.begin(), numbers.end(), 5);          cout << "The number of occurrences of 5 in the vector is: " << count << endl;          return 0; } Output: The number of occurrences of 5 in the vector is: 3 Explanation: The program starts by creating a vector named numbers that contains several integer values. The count() algorithm is used to count the number of occurrences of the value 5 in the numbers vector. The function takes three arguments: the beginning and end iterators of...

write a program in C++ to overload '-' operator to find difference of two complex object.

write a program to overload '-' operator to find difference of two complex object /* program in C++ to overload '-' operator to find difference of two complex object */ #include<iostream> using namespace std; class Complex{     public:     float a, b;     complex(): a(0), b(0) {}     complex(float x, float y): a(x), b(y){}     void display(){          cout<<this->a<<"+"<<this->b<<"i"<<endl;     }     friend Complex operator-(const Complex&, const Complex&); }; complex operator-(const Complex& com, const Complex& comp){     float x= com.a - comp.a;     foat y= com.b - comp.b;     return Complex(x,y); } int main(){     Complex a(1,7), b(6,9);     cout<<"A = ";a.display();      cout<<"B = ";b.display();      cout<<"A - B = ";(a-b).display(); ...

what is static data member and static member function? how can we overload a function?

what is static data member and static member function? how can we overload a function? A static data member in C++ is a class variable that is shared among all objects of a class and is defined using the 'static' keyword. It has a single instance for the entire class, and its value is shared by all objects of that class. Unlike non-static class members, a static data member can be accessed without creating an instance of the class. A static member function in C++ is a member function of a class that can be called without creating an instance of the class. Like static data members, a static member function operates on the class as a whole rather than on individual objects. A static member function can only access static data members on other static member functions of the same class. To overload a function in C++, you create multiple functions with the same name but different parameter lists. The correct function to call is determined at compile-time based on the number and type...