Educational Objectives. After successfully completing this assignment, the student should be able to accomplish the following:
Operational Objectives: Define and implement the class ID and deliver the code in two files id.h and id.cpp along with a makefile for the supplied test harness.
Deliverables: id.h, id.cpp, makefile
See lecture notes Chapter 4. Classes Part 1, Chapter 5. Pointers, Chapter 6. Classes Part 2, and Chapter 7: String Objects.
Design the class ID
Implement the class ID with the class definition in file id.h and the class implementation in file id.cpp
Thoroughly test class ID, starting out with the supplied test harness in file hw3/test.cpp using command line compile
Write a makefile that builds test.x with the "in lieu of makefile" include statement commented out or removed
Test the executable again, and refine your work to withstand testing.
Turn in id.h, id.cpp, and makefile using the hw3submit.sh submit script.
Warning: Submit scripts do not work on the program and linprog servers. Use shell.cs.fsu.edu to submit projects. If you do not receive the second confirmation with the contents of your project, there has been a malfunction.
The class should implement the following diagram:
Class Name: | ID |
Services : |
void SetName ( const char* ) // sets the name field void SetAge ( int ) // sets the age field const char* GetName () const // returns a const pointer to the name field int GetAge () const // returns the age field by value |
Properties : |
Constructable: objects can be declared as ordinary variables Assignable: objects can be assigned one to another Passable: objects can be passed by value to and returned as values from functions |
Private variables: |
char * name_ // the name field int age_ // the age field |
The class should be a proper type, to include default constructor, 2-argument constructor (that initializes the two data fields), copy constructor, assignment operator, and destructor.
The output operator operator<< should be overloaded for the type ID.
Class ID should pass testing with the supplied hw3/test.cpp with no compile or runtime errors and no compiler warnings when the warning flags -W, -Wall, -Wextra are set.
Building and running the supplied hw3/test.cpp should result in output identical to the supplied executable area51/IDtest_?.x [? = i or s] .