I don't know what I'm doing..Or how to do any of this. I missed class for a week due to an illness and the teacher just tells me to figure it out.
Here's the problem:
Design a class called Heading that has data members to hold the company name and the report name. A two-parameter default constructor should allow these to be specified at the time a new Heading object is created. If the user creates a Heading object without passing any arguments, "ABC Industries" should be used as a default value for the company name and "Report" should be used as a default for the report name. The class should have member functions to print a heading in either one-line format, as shown here:
Pet Pals Payroll Report
or in four-line "boxed, as showing here:
*************************************************
Pet Pals
Payroll Report
*************************************************
Try to figure out a way to center the headings on the screen, based on their lengths. Demonstrate the class by writing a simple program that uses it.
...
// Using constructor initialization list to set "default" values.
Heading() : companyName("ABC Industries"), reportName ("Report")
{
// Blank body!
}
// Using constructor initialization list to set user defined values.
Heading(const std::string& c_name, const std::string& r_name) :
companyName(c_name), reportName(r_name)
{
// Blank body!
}
...
void PrintNames() const
{
cout << companyName << " " << reportName << endl;
}
...
(in main)
// Declare a class using the default names.
Heading defaultCompany;
...
(after your inputs)
// Create an instance of the class with the user defined names:
Heading userCompany(companyName, reportName);
...
// Now print the names:
defaultCompany.printNames();
userCompany.printNames();
One more problem: When I run the program and it asks me "What is the company name", if I enter two words, the second word goes to the report instead of all of it being a part of the company name. How do I fix this? Here's what I've got: