Design a class called Date that: • The class has integer data members to store month, day, and year. • The class should have a three-parameter default constructor that allows the date to be set at the time a new Date object is created. • If the user creates a Date object without passing any arguments, or if any of the values passed are invalid, the default values of 1, 1, 2001 (i.e., January 1, 2001) should be used. • The class should have member functions print to print the date in the following formats: 3/15/20 March 15, 2020 15 March 2020
Design a class called Date that: • The class has integer data members to store month, day, and year. • The class should have a three-parameter default constructor that allows the date to be set at the time a new Date object is created. • If the user creates a Date object without passing any arguments, or if any of the values passed are invalid, the default values of 1, 1, 2001 (i.e., January 1, 2001) should be used. • The class should have member functions print to print the date in the following formats: 3/15/20 March 15, 2020 15 March 2020
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
Related questions
Topic Video
Question
C++

Transcribed Image Text:Design a class called `Date` that:
- The class has integer data members to store month, day, and year.
- The class should have a three-parameter default constructor that allows the date to be set at the time a new Date object is created.
- If the user creates a Date object without passing any arguments, or if any of the values passed are invalid, the default values of 1, 1, 2001 (i.e., January 1, 2001) should be used.
- The class should have member functions `print` to print the date in the following formats:
- 3/15/20
- March 15, 2020
- 15 March 2020
---
*Hint 1*. You should use the constructor to initialize your object.
*Hint 2*. The constructor can also be overloaded with different parameters to handle the case of no parameter.

Transcribed Image Text:Based on the code you write for Q1, do the following:
- Modify the constructor functions of the `Date` class to add a line of code to print `The constructor function is executed` on the screen.
- Write two functions that accept a `Date` object as a parameter:
```cpp
void f(Date &d);
void g(Date d);
```
- For both `f` and `g`, call the member function `print`.
Please observe the execution results of `f` and `g`, and answer the following two questions:
1. What is the difference when you run function `f` and `g`?
2. What is the reason for the difference?
> **Hint 1:** Note that `f` accepts a reference parameter, and `g` accepts a value parameter.
>
> **Hint 2:** For this question, you do not need to submit your code, you only need to answer the two questions.
This question will provide you a better understanding of reference parameters, recall the slide.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 6 images

Knowledge Booster
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.Recommended textbooks for you

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)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

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)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education