#include <iostream>
using namespace std;
//Class Declaration Section
class LabMetaData 
{
    private:
    int labNum;
    string labTitle;
    string labAuthor;
    int Month;
    int Day;
    int Year;
    string labDesc;    

    public:    
    LabMetaData(int labNum, string labTitle, string labAuthor,int Month, int Day, int Year, string labDesc); //constructor
    void setData(int, string, string, int, int, int, string);
    void showData();
};
//Class Implementation Section
LabMetaData::LabMetaData(int Num, string Title, string Author, int MM, int DD, int YYYY, string Desc)
{
    labNum = Num;
    labTitle = Title;
    labAuthor = Author;
    Month = MM;
    Day = DD;
    Year = YYYY;
    labDesc = Desc;
}

void LabMetaData::SetData()
{
    labNum = 0;
    labTitle = "";
    labAuthor = "";
    Month = 01;
    Day = 01;
    Year = 2012;
    labDesc = "";
    return;
}

void LabMetaData::ShowData()
{
     cout << "Lab " << labNum << ": " << labTitle;
     cout << "Created by: " << labAuthor;
     cout << Month << "/" << Day << "/" << Year;
     cout << labDesc;
     cout << endl;

     return;
}

int main()
{

    LabMetaData Lab7; 

    cout << endl << "Uninitialized: " << endl;
    Lab7.ShowData();

    Lab7.SetData(7, "Lab Meta Data", "YOUR NAME", 10, 3, 2010, "Introducing basic classes.");

    cout << endl << "Intialized: " << endl;
    Lab7.ShowData();

    if(!Lab4.SetData(-1, "Test", "Test", 13, 32, 11, "Causing Errors"))
        cout << "\nErrors!" << endl;

    cout << endl << "After Invalid Modification Attempt: " << endl;
    Lab7.ShowData();

    cout << endl << endl;
    system("pause");
    return 0;
}