Instructions In Chapter 10, the class clockType was designed to implement the time of day in a program. Certain applications, in addition to hours, minutes, and seconds, might require you to store the time zone. Derive the class extClock Type from the class clock Type by adding a member variable to store the time zone called timeZone. Add the necessary member functions and constructors to make the class functional. Also, write the definitions of the member functions and the constructors. Finally, write a test program to test your class. Grading When you have completed your program, click the Submit button to record your score.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

clockType.h file provided

//clockType.h, the specification file for the class clockType
#ifndef H_ClockType
#define H_ClockType
   
class clockType 
{
public:
    void setTime(int hours, int minutes, int seconds);
       //Function to set the time.
       //The time is set according to the parameters. 
       //Postcondition: hr = hours; min = minutes; 
       //               sec = seconds
       //   The function checks whether the values of 
       //   hours, minutes, and seconds are valid. If a 
       //   value is invalid, the default value 0 is 
       //   assigned.

    void getTime(int& hours, int& minutes, int& seconds) const;
       //Function to return the time.
       //Postcondition: hours = hr; minutes = min;
       //               seconds = sec

    void printTime() const;
       //Function to print the time.
       //Postcondition: The time is printed in the form
       //               hh:mm:ss.

    void incrementSeconds();
       //Function to increment the time by one second.
       //Postcondition: The time is incremented by one 
       //               second.
       //   If the before-increment time is 23:59:59, the 
       //   time is reset to 00:00:00.

    void incrementMinutes();
       //Function to increment the time by one minute.
       //Postcondition: The time is incremented by one 
       //               minute. 
       //   If the before-increment time is 23:59:53,
       //   the time is reset to 00:00:53.

    void incrementHours();
       //Function to increment the time by one hour.
       //Postcondition: The time is incremented by one
       //               hour. 
       //   If the before-increment time is 23:45:53, the 
       //   time is reset to 00:45:53.

    bool equalTime(const clockType& otherClock) const;
       //Function to compare the two times.
       //Postcondition: Returns true if this time is 
       //               equal to otherClock; otherwise, 
       //               returns false.

    clockType(int hours, int minutes, int seconds);
       //constructor with parameters
       //The time is set according to the parameters.
       //Postcondition: hr = hours; min = minutes; 
       //               sec = seconds
       //   The constructor checks whether the values of 
       //   hours, minutes, and seconds are valid. If a 
       //   value is invalid, the default value 0 is 
       //   assigned.

    clockType();
       //default constructor with parameters
       //The time is set to 00:00:00.
       //Postcondition: hr = 0; min = 0; sec = 0
 
private:
    int hr;  //variable to store the hours
    int min; //variable to store the minutes
    int sec; //variable to store the seconds
};
#endif

 

clockTypeImp.cpp file provided


//Implementation File for the class clockType
 
#include <iostream>
#include "clockType.h"
  
using namespace std;
 
void clockType::setTime(int hours, int minutes, int seconds)
{
    if (0 <= hours && hours < 24)
        hr = hours;
    else 
        hr = 0; 

    if (0 <= minutes && minutes < 60)
        min = minutes;
    else 
        min = 0;

    if (0 <= seconds && seconds < 60)
        sec = seconds;
    else 
        sec = 0;
}

void clockType::getTime(int& hours, int& minutes, 
                        int& seconds) const
{
    hours = hr;
    minutes = min;
    seconds = sec;
}

void clockType::incrementHours()
{
    hr++;
    if (hr > 23)
        hr = 0;
}

void clockType::incrementMinutes()
{
    min++;
    if (min > 59)
    {
        min = 0;
        incrementHours();
    }
}

void clockType::incrementSeconds()
{
    sec++;

    if (sec > 59)
    {
        sec = 0;
        incrementMinutes();
    }
}

void clockType::printTime() const
{
    if (hr < 10)
        cout << "0";
    cout << hr << ":";

    if (min < 10)
        cout << "0";
    cout << min << ":";

    if (sec < 10)
        cout << "0";
    cout << sec;
}

bool clockType::equalTime(const clockType& otherClock) const
{
    return (hr == otherClock.hr 
            && min == otherClock.min 
            && sec == otherClock.sec);
}

clockType::clockType(int hours, int minutes, int seconds)
{
    if (0 <= hours && hours < 24)
        hr = hours;
    else 
        hr = 0;

    if (0 <= minutes && minutes < 60)
        min = minutes;
    else 
        min = 0;

    if (0 <= seconds && seconds < 60)
        sec = seconds;
    else 
    sec = 0;
}

clockType::clockType()  //default constructor
{
    hr = 0;
    min = 0;
    sec = 0;
}

Tasks
The extClockType class includes a
private member variable timeZone.
The program can initialize objects of the
type extClock Type without error.
The class extClock Type is derived from
the class clockType.
>
>
>
Transcribed Image Text:Tasks The extClockType class includes a private member variable timeZone. The program can initialize objects of the type extClock Type without error. The class extClock Type is derived from the class clockType. > > >
Instructions
In Chapter 10, the class clockType was
designed to implement the time of day in a
program. Certain applications, in addition to hours,
minutes, and seconds, might require you to store
the time zone. Derive the class extClock Type
from the class clock Type by adding a member
variable to store the time zone called timeZone.
Add the necessary member functions and
constructors to make the class functional. Also,
write the definitions of the member functions and
the constructors. Finally, write a test program to
test your class.
Grading
When you have completed your program, click the
Submit button to record your score.
Transcribed Image Text:Instructions In Chapter 10, the class clockType was designed to implement the time of day in a program. Certain applications, in addition to hours, minutes, and seconds, might require you to store the time zone. Derive the class extClock Type from the class clock Type by adding a member variable to store the time zone called timeZone. Add the necessary member functions and constructors to make the class functional. Also, write the definitions of the member functions and the constructors. Finally, write a test program to test your class. Grading When you have completed your program, click the Submit button to record your score.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY