BACKGROUND GDOT has contacted you to help write code in C++ to control the railroad signals (barriers with flashing lights and sounds across railroad tracks) in Georgia.  You must create a Railroad Signal class with three hidden attributes (Up, Down and Signal), two constructors (a default that sets Up to on, Down and signal to off, and an overloaded that sets all Up to off, Down and Signal to on) and a method that changes the position and activates or deactivates the Signal. Here is the algorithm for the given C++ code: #include using namespace std; class RailroadSignal { private:     bool Up;     bool Down;     bool Signal; public:     // Default constructor that sets Up to on, Down and Signal to off     RailroadSignal() : Up(true), Down(false), Signal(false) {}     // Overloaded constructor that sets all Up to off, Down and Signal to on     RailroadSignal(bool up, bool down, bool signal) : Up(up), Down(down), Signal(signal) {}     // Method to change the position and activate or deactivate the Signal     void changePosition(bool up, bool down, bool signal) {         Up = up;         Down = down;         Signal = signal;         // Code to control the railroad signals in Georgia based on the values of Up, Down, and Signal         if (Up && Down && Signal) {             cout << "Railroad signals are up, down, and signal is on." << endl;         } else if (Up && Down && !Signal) {             cout << "Railroad signals are up and down, and signal is off." << endl;         } else {             cout << "Invalid position for railroad signals." << endl;         }     } }; int main() {     // Create a default instance of RailroadSignal     RailroadSignal signal1;     signal1.changePosition(true, false, true); // Change position of signal1     // Create an overloaded instance of RailroadSignal     RailroadSignal signal2(false, true, true);     signal2.changePosition(false, true, false); // Change position of signal2     return 0; } Question: You must create (in C++) two Railroad Signal objects from the class you just created (above) to prove that your class works properly for GDOT, the first object should use the default constructor and the second object should use the overloaded constructor.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

BACKGROUND

GDOT has contacted you to help write code in C++ to control the railroad signals (barriers with flashing lights and sounds across railroad tracks) in Georgia.  You must create a Railroad Signal class with three hidden attributes (Up, Down and Signal), two constructors (a default that sets Up to on, Down and signal to off, and an overloaded that sets all Up to off, Down and Signal to on) and a method that changes the position and activates or deactivates the Signal.

Here is the algorithm for the given C++ code:

#include <iostream>

using namespace std;

class RailroadSignal {
private:
    bool Up;
    bool Down;
    bool Signal;

public:
    // Default constructor that sets Up to on, Down and Signal to off
    RailroadSignal() : Up(true), Down(false), Signal(false) {}

    // Overloaded constructor that sets all Up to off, Down and Signal to on
    RailroadSignal(bool up, bool down, bool signal) : Up(up), Down(down), Signal(signal) {}

    // Method to change the position and activate or deactivate the Signal
    void changePosition(bool up, bool down, bool signal) {
        Up = up;
        Down = down;
        Signal = signal;

        // Code to control the railroad signals in Georgia based on the values of Up, Down, and Signal
        if (Up && Down && Signal) {
            cout << "Railroad signals are up, down, and signal is on." << endl;
        } else if (Up && Down && !Signal) {
            cout << "Railroad signals are up and down, and signal is off." << endl;
        } else {
            cout << "Invalid position for railroad signals." << endl;
        }
    }
};

int main() {
    // Create a default instance of RailroadSignal
    RailroadSignal signal1;
    signal1.changePosition(true, false, true); // Change position of signal1

    // Create an overloaded instance of RailroadSignal
    RailroadSignal signal2(false, true, true);
    signal2.changePosition(false, true, false); // Change position of signal2

    return 0;
}

Question:

You must create (in C++) two Railroad Signal objects from the class you just created (above) to prove that your class works properly for GDOT, the first object should use the default constructor and the second object should use the overloaded constructor.

Expert Solution
steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

Using the objects you just created above (previous question), call the method to change the lights and arms to the next in the sequence (in C++).

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
void method
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education