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

Explain the lifecycle of Servlet with block diagram.

 The lifecycle of a Servlet can be divided into several stages. Here's a block diagram that illustrates the different stages: Servlet API: The Servlet API provides a standard set of interfaces and classes for creating and interacting with Servlets. It is typically included in the web application's classpath as a JAR file. Servlet Container: The Servlet Container is a web server or application server that implements the Servlet API. It provides a runtime environment for executing Servlets and manages their lifecycle. Servlet Class: The Servlet Class is the Java class that implements the javax.servlet.Servlet interface. It contains the logic for processing HTTP requests and generating HTTP responses. init(): The init() method is called once when the Servlet is first loaded by the Servlet Container. It is used for initialization tasks, such as setting up database connections, loading configuration settings, or initializing other resources that will be used by the Servlet. service(...

What are Stub and Skeleton in Distributed Application? Explain its function with block diagram.

 Stub and Skeleton are two important components of distributed applications. A distributed application is a software system that runs on multiple computers connected through a network. It allows users to access resources and services on different computers as if they were on a local computer. In a distributed application, a client program on one computer sends a request to a server program on another computer. The server program processes the request and sends a response back to the client program. Stub and Skeleton help to facilitate this communication between the client and server programs. A Stub is a client-side proxy that represents the remote object on the client machine. It acts as a gateway for the client to communicate with the server. When a client invokes a method on the Stub, it marshals the arguments and sends them to the server over the network. The Stub then waits for the server to send a response. When the response is received, the Stub unmarshals the data and retur...

Write a program that reads a text file and creates another file that is identical except that every sequence of consecutive blank spaces is replaced by a single space.

 To solve this problem, we can follow these steps: Open the input file for reading and the output file for writing. Read the input file line by line. For each line, replace every sequence of consecutive blank spaces with a single space using the std::regex_replace function from the regex library. Write the modified line to the output file. Here is the code: #include <iostream> #include <fstream> #include <regex> using namespace std; int main() {     // Open the input file for reading and the output file for writing     ifstream infile("input.txt");     ofstream outfile("output.txt");     if (!infile) {         cerr << "Error: Could not open input file.\n";         return 1;     }     if (!outfile) {         cerr << "Error: Could not open output file.\n";         return 1;     }     string lin...