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
icon
Related questions
Topic Video
Question

C++

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: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.
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.
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
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 6 images

Blurred answer
Knowledge Booster
Instruction Format
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
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